Arrays (PHP)
Versie door Jeroen Strompf (overleg | bijdragen) op 28 apr 2020 om 16:36 (→Rij toevoegen - array_push)
Basis
Code:
<?php $a = array ( # 'a', 'b' & 'c' are the indexes. 'apple', etc. are the values ############################################################## # 'a' => 'apple', 'b' => 'banana', 'c' => array # This sub-array has no indexes. Only values ############################################ ( 'x', 'y', 'z' ) ); print_r ($a); print var_dump($a); print_r($a['a']); # You can refer to the index. It's a string, hence the apostrophes print_r($a['c']); # Display subarray print_r($a['c'][0]); Display item 0 of the subarray. You can only refer by number because no other index has been defined
Output (slightly formatted):
# print_r($a): ################## # Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) ) # var_dump ################## # array(3) { ["a"]=> string(5) "apple" ["b"]=> string(6) "banana" ["c"]=> array(3) { [0]=> string(1) "x" [1]=> string(1) "y" [2]=> string(1) "z" } } # print_r($a['a']) ################## # apple # print_r($a['c']); - Subarray ############################## # Array ( [0] => x [1] => y [2] => z ) # print_r($a['c'][0]); - Item 0 from the subarray ################################################# # x
Arrays vs. objects
Belangrijk om bewust te zijn van het verschil tussen arrays en objecten. Dit is een voorbeeld van een object:
WP_Term Object ( [term_id] => 26 [name] => Merk [slug] => merk [term_group] => 0 [term_taxonomy_id] => 26 [taxonomy] => product_cat [description] => [parent] => 0 [count] => 0 [filter] => raw )
En dit is een array:
Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) )
Rij toevoegen - array_push
$a=array ( 0 => array ( 'sku' => '0100', 'post_id' => 112, 'lang' => 'nl', ), 1 => array ( 'sku' => '0100', 'post_id' => 113, 'lang' => 'en' ), 2 => array ( 'sku' => '0100', 'post_id' => 116, 'lang' => 'de' ) ); $b=array ( 'sku' => '0100', 'post_id' => 116, 'lang' => 'hu' ); print_r($a); print_r($b); array_push($a, $b); print_r($a);
Merk op dat $b een dimensie minder telt dan $a.
Rij toevoegen - Simpler
In het voorbeeld hierboven was de eerste dimensie een index (of zoiets). Het kan simpeler in simpelere gevallen:
################################################################### # Add a simple row to an array ################################################################### # # Define array ############## # $a=array ( 'nl' => 123 ); # Add a row ############ # $a=$a + array ( 'de' => 234 ); print_r($a);
Rij updaten
Tata: https://stackoverflow.com/questions/15024616/php-foreach-change-original-array-values