Re: [PHP] array_push in array maps
On 5/3/06, Jochem Maas <[EMAIL PROTECTED]> wrote: Jonas Said: >> But when I want to have a value from a special column i a row the >> followint >> doesn't work: >> >>$test[$row[2]] = $row[5]; >> >> Or: >> >>$test[$row(2)] = $row[5]; >> >> Do I need to do some kind of concatenating? >> Ah, Lasso! I coded that in my previous job. Left it to commit to the world of PHP, but I saw lots of potential in Lasso 8 (we were in 3/4/5). Sort of miss it sometimes...*sniff* Anyway, all of the comments are in the right direction. A couple things to fill in the gaps: PHP Arrays are indeed a "mash-up" like Jochem said. If you want to get at an array element using a numerical key, then simply use the number without any quotes, like so: echo $array[2]; However if you want to get at an array element using a string key, then it must be surrounded in quotes (single or double, but see below for more): echo $array['my_key']; Now, single quotes and double quotes are slightly (and also very) different in PHP. Read the manual for the details (http://uk.php.net/manual/en/language.types.string.php), but one thing to know is that the $ sign is a literal $ sign when it is in a string surrounded by single quotes; but surround it with double quotes, and it will help you create a variable (assuming you follow it with legal variable naming characters). So if you have a variable: $lang = 'Lasso'; And try to print it in a string with single quotes, it won't work: echo 'I used to program in $lang'; // this prints 'I used to program in $lang' But around double quotes, all is well: echo "I used to program in $lang"; // this prints 'I used to program in Lasso' And if you have a complex variable within a string and you want to "help" PHP figure out what's a variable and what's not, use { } to frame the variable name: echo "Look at my class {$my_class->get('name')} and my array {$my_array['key']} !"; Make sense? The manual explains a lot more, so be sure to read up. Also, unless Lasso changed in 8+, there's one other thing to remember about arrays. In PHP, arrays will keep their order of elements as you have created it. IIRC, Lasso never guaranteed this, so you always had to take extra measure to build your arrays such that you could iterate through them in a reliable fashion. No worries in PHP, the order sticks (and you can of course re-order it). HTH, Good luck, John W -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_push in array maps
Jonas - what do you mean 'it doesn't work' (it's like me saying 'the ATM doesn't work and forgetting to mention I'm trying to withdraw 10,000,000 disney dollars - when I mention that fact the reason is probably obvious to you why it doesn't work) Brad Bonkoski wrote: What kind of values are stored in $row[2] and $row[5]? You might need to keep the single quotes $test['$row[2]'] = $row[5]; no this is wrong, unless you want the array key in this case to be the *exact* *literal* string '$row[2]' - which is unlikely. Jonas do the following (in the relevant place in your code) and see what is in $row: var_dump($row); -Brad Jonas Rosling wrote: There's allways mutch to learn. :-) I'm very happy for all help I can get. I ran into another problem when trying to insert a value. I had no problem with: $test['something'] = '2500'; But when I want to have a value from a special column i a row the followint doesn't work: $test[$row[2]] = $row[5]; Or: $test[$row(2)] = $row[5]; Do I need to do some kind of concatenating? Thanks again // Jonas Den 06-05-03 15.46, skrev "Jochem Maas" <[EMAIL PROTECTED]>: Jonas Rosling wrote: Need solve another case regarding array maps. Is it possible to insert more Jonas - in php we just call these things arrays (no 'map') - the array datatype in php is a mash up (and we love it :-) of the 'oldschool' numerically indexed array and what is commonly known as a hash (or arraymap) - you can mix numeric and associative indexes freely (that might seem odd and/or bad when coming from another language but it really is fantastic once you get your head round it). values like with array_push in arrays as bellow? $colors = array( 'red' => '#ff', 'green' => 'X00ff00', 'blue' => '#ff' ); sure: $colors['grey'] = '#dedede'; the position of the 'inserted' (actually appended) is often not important - if it is there are plenty of functions that allow you to manipulate arrays in more a complex fashion e.g. array_splice(). and all sorts of sorting functions are also available e.g. asort(). check out the vast number of array related function and introductory texts here: http://php.net/array http://php.net/manual/language.types.array.php Tanks in advance // Jonas -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_push in array maps
What kind of values are stored in $row[2] and $row[5]? You might need to keep the single quotes $test['$row[2]'] = $row[5]; -Brad Jonas Rosling wrote: There's allways mutch to learn. :-) I'm very happy for all help I can get. I ran into another problem when trying to insert a value. I had no problem with: $test['something'] = '2500'; But when I want to have a value from a special column i a row the followint doesn't work: $test[$row[2]] = $row[5]; Or: $test[$row(2)] = $row[5]; Do I need to do some kind of concatenating? Thanks again // Jonas Den 06-05-03 15.46, skrev "Jochem Maas" <[EMAIL PROTECTED]>: Jonas Rosling wrote: Need solve another case regarding array maps. Is it possible to insert more Jonas - in php we just call these things arrays (no 'map') - the array datatype in php is a mash up (and we love it :-) of the 'oldschool' numerically indexed array and what is commonly known as a hash (or arraymap) - you can mix numeric and associative indexes freely (that might seem odd and/or bad when coming from another language but it really is fantastic once you get your head round it). values like with array_push in arrays as bellow? $colors = array( 'red' => '#ff', 'green' => 'X00ff00', 'blue' => '#ff' ); sure: $colors['grey'] = '#dedede'; the position of the 'inserted' (actually appended) is often not important - if it is there are plenty of functions that allow you to manipulate arrays in more a complex fashion e.g. array_splice(). and all sorts of sorting functions are also available e.g. asort(). check out the vast number of array related function and introductory texts here: http://php.net/array http://php.net/manual/language.types.array.php Tanks in advance // Jonas -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_push in array maps
There's allways mutch to learn. :-) I'm very happy for all help I can get. I ran into another problem when trying to insert a value. I had no problem with: $test['something'] = '2500'; But when I want to have a value from a special column i a row the followint doesn't work: $test[$row[2]] = $row[5]; Or: $test[$row(2)] = $row[5]; Do I need to do some kind of concatenating? Thanks again // Jonas Den 06-05-03 15.46, skrev "Jochem Maas" <[EMAIL PROTECTED]>: > Jonas Rosling wrote: >> Need solve another case regarding array maps. Is it possible to insert more > > Jonas - in php we just call these things arrays (no 'map') - the array > datatype in php is a mash up (and we love it :-) of the 'oldschool' > numerically > indexed array and what is commonly known as a hash (or arraymap) - you can mix > numeric and associative indexes freely (that might seem odd and/or bad when > coming > from another language but it really is fantastic once you get your head round > it). > >> values like with array_push in arrays as bellow? >> >> $colors = array( >> 'red' => '#ff', >> 'green' => 'X00ff00', >> 'blue' => '#ff' >>); >> > > sure: > > $colors['grey'] = '#dedede'; > > the position of the 'inserted' (actually appended) is often not > important - if it is there are plenty of functions that allow you to > manipulate > arrays in more a complex fashion e.g. array_splice(). and all sorts of sorting > functions are also available e.g. asort(). > > check out the vast number of array related function and introductory texts > here: > > http://php.net/array > http://php.net/manual/language.types.array.php > >> Tanks in advance // Jonas >> > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_push in array maps
Jonas Rosling wrote: Need solve another case regarding array maps. Is it possible to insert more Jonas - in php we just call these things arrays (no 'map') - the array datatype in php is a mash up (and we love it :-) of the 'oldschool' numerically indexed array and what is commonly known as a hash (or arraymap) - you can mix numeric and associative indexes freely (that might seem odd and/or bad when coming from another language but it really is fantastic once you get your head round it). values like with array_push in arrays as bellow? $colors = array( 'red' => '#ff', 'green' => 'X00ff00', 'blue' => '#ff' ); sure: $colors['grey'] = '#dedede'; the position of the 'inserted' (actually appended) is often not important - if it is there are plenty of functions that allow you to manipulate arrays in more a complex fashion e.g. array_splice(). and all sorts of sorting functions are also available e.g. asort(). check out the vast number of array related function and introductory texts here: http://php.net/array http://php.net/manual/language.types.array.php Tanks in advance // Jonas -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_push in array maps
Stut wrote: Brad Bonkoski wrote: $colors['black'] = '#ff'; Black? Are you sure? Brad might be wearing his 'negative' goggles today :-) -Stut -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] array_push in array maps
[snip] Need solve another case regarding array maps. Is it possible to insert more values like with array_push in arrays as bellow? $colors = array( 'red' => '#ff', 'green' => 'X00ff00', 'blue' => '#ff' ); [/snip] // Append associative array elements function array_push_associative(&$arr) { $args = func_get_args(); array_unshift($args); // remove &$arr argument foreach ($args as $arg) { if (is_array($arg)) { foreach ($arg as $key => $value) { $arr[$key] = $value; $ret++; } } } return $ret; } $theArray = array(); echo array_push_associative($theArray, $items, $moreitems) . ' items added to $theArray.'; -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_push in array maps
or white ;-) Stut wrote: Brad Bonkoski wrote: $colors['black'] = '#ff'; Black? Are you sure? -Stut -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_push in array maps
Brad Bonkoski wrote: $colors['black'] = '#ff'; Black? Are you sure? -Stut -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_push in array maps
Jonas Rosling wrote: Need solve another case regarding array maps. Is it possible to insert more values like with array_push in arrays as bellow? $colors = array( 'red' => '#ff', 'green' => 'X00ff00', 'blue' => '#ff' ); Did you try it? It will work, but there is no need for array_push. All you need is... $colors['yellow'] = '#00'; -Stut -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_push in array maps
Need solve another case regarding array maps. Is it possible to insert more values like with array_push in arrays as bellow? $colors = array( 'red' => '#ff', 'green' => 'X00ff00', 'blue' => '#ff' ); Yes. http://www.php.net/array_push -- Postgresql & php tutorials http://www.designmagick.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] array_push in array maps
I don't believe you 'push' to an associative array like this, but if you want to add black for example...just do: $colors['black'] = '#ff'; -Brad Jonas Rosling wrote: Need solve another case regarding array maps. Is it possible to insert more values like with array_push in arrays as bellow? $colors = array( 'red' => '#ff', 'green' => 'X00ff00', 'blue' => '#ff' ); Tanks in advance // Jonas -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] array_push in array maps
Need solve another case regarding array maps. Is it possible to insert more values like with array_push in arrays as bellow? $colors = array( 'red' => '#ff', 'green' => 'X00ff00', 'blue' => '#ff' ); Tanks in advance // Jonas -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php