From: Ashley Sheridan on
On Tue, 2010-08-31 at 11:46 -0400, Joshua Kehn wrote:

> Quickest way I can think of would be to do something like
>
> $tmp = array();
>
> foreach($old_array as $key => $value)
> {
> $tmp[$value] = $key;
> }
>
> But knowing PHP there is probably some array_reverse_keys() function.
>
> Regards,
>
> -Josh
> ____________________________________
> Joshua Kehn | Josh.Kehn(a)gmail.com
> http://joshuakehn.com
>
> On Aug 31, 2010, at 11:43 AM, Tontonq Tontonq wrote:
>
> > a quick question
> > lets say i have an array like that
> >
> >
> > Array
> > (
> > [300] => 300
> > [301] => 301
> > [302] => 302
> > [303] => 303
> > [304] => 304
> > [305] => 305
> > [306] => 306
> > [307] => 307
> > [308] => 308
> > ...
> > how can i change keys to 0,1,2,3,.. by faster way
> > (it should like that) >
> > Array
> > (
> > [0] => 300
> > [1] => 301
> > [2] => 302
> > [3] => 303
> > ....
>
>


That doesn't actually answer the question, it just changes the key/value
pairs around. There is a built-in function for this in PHP, but it's not
what the OP asked for.

Thanks,
Ash
http://www.ashleysheridan.co.uk


From: Joshua Kehn on
On Aug 31, 2010, at 11:46 AM, Ashley Sheridan wrote:

> On Tue, 2010-08-31 at 11:46 -0400, Joshua Kehn wrote:
>>
>> Quickest way I can think of would be to do something like
>>
>> $tmp = array();
>>
>> foreach($old_array as $key => $value)
>> {
>> $tmp[$value] = $key;
>> }
>>
>> But knowing PHP there is probably some array_reverse_keys() function.
>>
>> Regards,
>>
>> -Josh
>> ____________________________________
>> Joshua Kehn | Josh.Kehn(a)gmail.com
>> http://joshuakehn.com
>>
>> On Aug 31, 2010, at 11:43 AM, Tontonq Tontonq wrote:
>>
>> > a quick question
>> > lets say i have an array like that
>> >
>> >
>> > Array
>> > (
>> > [300] => 300
>> > [301] => 301
>> > [302] => 302
>> > [303] => 303
>> > [304] => 304
>> > [305] => 305
>> > [306] => 306
>> > [307] => 307
>> > [308] => 308
>> > ...
>> > how can i change keys to 0,1,2,3,.. by faster way
>> > (it should like that) >
>> > Array
>> > (
>> > [0] => 300
>> > [1] => 301
>> > [2] => 302
>> > [3] => 303
>> > ....
>>
>>
>
> That doesn't actually answer the question, it just changes the key/value pairs around. There is a built-in function for this in PHP, but it's not what the OP asked for.
>
> Thanks,
> Ash
> http://www.ashleysheridan.co.uk
>
>

I misread the question as flipping array keys, my mistake.

Regards,

-Josh
____________________________________
Joshua Kehn | Josh.Kehn(a)gmail.com
http://joshuakehn.com

From: Tontonq Tontonq on
Ty four your all replies i got 9 replies less than 10 minutes :)

than can u answer this too
my array is like that for now
Array
(
[300] => 300
[301] => 301
[302] => 302
[303] => 303
[304] => 304
[305] => 305
[306] => 306
[307] => 307
[308] => 308
[309] => 309
[310] => 310
[311] => 311
[312] => 312
[313] => 313
[314] => 314
[165] => 165
[166] => 166
[167] => 167
[168] => 168
[169] => 169
[170] => 170
[171] => 171
[172] => 172
[173] => 173
[201] => 201
[202] => 202
[203] => 203
[204] => 204
[205] => 205
[206] => 206
[207] => 207
[208] => 208
[209] => 209
[210] => 210
[211] => 211
[212] => 212
[213] => 213
[214] => 214
[215] => 215
[315] => 315

how can i make an array
that will store values like
Array
(
[0] => 300-314
[1] => 165-173
)

i hope if u did understand me :D

2010/8/31 larry(a)garfieldtech.com <larry(a)garfieldtech.com>

> The fastest way is going to be array_values():
>
> http://www.php.net/array_values
>
> --Larry Garfield
>
>
> On 8/31/10 10:43 AM, Tontonq Tontonq wrote:
>
>> a quick question
>> lets say i have an array like that
>>
>>
>> Array
>> (
>> [300] => 300
>> [301] => 301
>> [302] => 302
>> [303] => 303
>> [304] => 304
>> [305] => 305
>> [306] => 306
>> [307] => 307
>> [308] => 308
>> ...
>> how can i change keys to 0,1,2,3,.. by faster way
>> (it should like that)>
>> Array
>> (
>> [0] => 300
>> [1] => 301
>> [2] => 302
>> [3] => 303
>> ....
>>
>>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
From: Ashley Sheridan on
On Tue, 2010-08-31 at 19:06 +0300, Tontonq Tontonq wrote:

> Ty four your all replies i got 9 replies less than 10 minutes :)
>
> than can u answer this too
> my array is like that for now
> Array
> (
> [300] => 300
> [301] => 301
> [302] => 302
> [303] => 303
> [304] => 304
> [305] => 305
> [306] => 306
> [307] => 307
> [308] => 308
> [309] => 309
> [310] => 310
> [311] => 311
> [312] => 312
> [313] => 313
> [314] => 314
> [165] => 165
> [166] => 166
> [167] => 167
> [168] => 168
> [169] => 169
> [170] => 170
> [171] => 171
> [172] => 172
> [173] => 173
> [201] => 201
> [202] => 202
> [203] => 203
> [204] => 204
> [205] => 205
> [206] => 206
> [207] => 207
> [208] => 208
> [209] => 209
> [210] => 210
> [211] => 211
> [212] => 212
> [213] => 213
> [214] => 214
> [215] => 215
> [315] => 315
>
> how can i make an array
> that will store values like
> Array
> (
> [0] => 300-314
> [1] => 165-173
> )
>
> i hope if u did understand me :D
>
> 2010/8/31 larry(a)garfieldtech.com <larry(a)garfieldtech.com>
>
> > The fastest way is going to be array_values():
> >
> > http://www.php.net/array_values
> >
> > --Larry Garfield
> >
> >
> > On 8/31/10 10:43 AM, Tontonq Tontonq wrote:
> >
> >> a quick question
> >> lets say i have an array like that
> >>
> >>
> >> Array
> >> (
> >> [300] => 300
> >> [301] => 301
> >> [302] => 302
> >> [303] => 303
> >> [304] => 304
> >> [305] => 305
> >> [306] => 306
> >> [307] => 307
> >> [308] => 308
> >> ...
> >> how can i change keys to 0,1,2,3,.. by faster way
> >> (it should like that)>
> >> Array
> >> (
> >> [0] => 300
> >> [1] => 301
> >> [2] => 302
> >> [3] => 303
> >> ....
> >>
> >>
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >


I'd use a loop for something like that:

$new_array = array('0-300'=>0, '301-400'=>0, '401-500'=>0, '501+'=>0);
foreach($old_array as $a)
{
switch(true)
{
case $a <= 300:
{
$new_array['0-300']++;
break;
}
case $a <= 400:
{
$new_array['301-400']++;
break;
}
case $a <= 500:
{
$new_array['401-500']++;
break;
}
default:
{
$new_array['501+']++;
break;
}
}
}

Thanks,
Ash
http://www.ashleysheridan.co.uk


From: Richard Quadling on
On 31 August 2010 16:45, Ashley Sheridan <ash(a)ashleysheridan.co.uk> wrote:
> There are two ways I see to do it. You can iterate the array and create
> a copy, assigning elements dynamic values:
>
> $new_array = array();
> foreach($array as $a)
> {
>    $new_array[] = $a;
> }
>
> or use a sorting function on it that doesn't preserve the keys (as in
> your example all the values in the array were in numerical order.
>
> $new_array = sort($array);

sort() operates in the array. It does not return a new array, just a
bool to indicate success or not.

http://docs.php.net/sort



--
Richard Quadling
Twitter : EE : Zend
@RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY