In PHP, you can use a loop structure to traverse an array. However, if we have an irregular array, how should we traverse it? Let's discuss how to traverse irregular arrays.
What is an irregular array?
Irregular array means that the key of each element in the array is not a number or a continuous value, but a different string or number. For example:
$irregular_array = array( 'apple' => array('color' => 'red', 'weight' => '100g'), 'banana' => array('color' => 'yellow', 'weight' => '150g', 'brand' => 'Chiquita'), 'orange' => array('color' => 'orange', 'taste' => 'sweet'), 'grape' => array('color' => 'purple', 'weight' => '10g', 'price' => '2.99'), 'watermelon' => array('weight' => '5kg') );
In this array, the key names of each sub-array are different, and some even lack certain key-value pairs. This is an irregular array.
How to traverse an irregular array?
When we need to traverse an irregular array, we can use a foreach loop plus some judgment to solve the problem. Look at the following code:
foreach ($irregular_array as $key => $value) { echo 'Fruit: ' . $key . '<br>'; foreach ($value as $k => $v) { echo $k . ': ' . $v . '<br>'; } echo '<br>'; }
This code first uses a foreach loop to traverse the entire array, and assign the key name and key value of each element to the $key and $value variables respectively. Next, use a foreach loop to traverse $value again and assign each key name and key value in the subarray to the $k and $v variables respectively. Then output the results.
The execution effect of the above code is as follows:
Fruit: apple color: red weight: 100g Fruit: banana color: yellow weight: 150g brand: Chiquita Fruit: orange color: orange taste: sweet Fruit: grape color: purple weight: 10g price: 2.99 Fruit: watermelon weight: 5kg
We can also add some judgment statements to deal with possible inconsistencies in irregular arrays. For example:
foreach ($irregular_array as $key => $value) { echo 'Fruit: ' . $key . '<br>'; foreach ($value as $k => $v) { if ($k == 'color') { echo 'Color: ' . $v . '<br>'; } if ($k == 'weight') { echo 'Weight: ' . $v . '<br>'; } if ($k == 'brand') { echo 'Brand: ' . $v . '<br>'; } if ($k == 'taste') { echo 'Taste: ' . $v . '<br>'; } if ($k == 'price') { echo 'Price: ' . $v . '<br>'; } } echo '<br>'; }
In the above code, we have added some if statements to check whether a specific key name exists in the array. If it exists, the key value corresponding to the key name is output. The execution result of the above code is the same as above.
Summary
The above is the method of traversing irregular arrays. When using it, we can adopt different methods according to the specific situation. If we are dealing with a known irregular array, we can manually write the traversal code to meet our needs. If you are dealing with some dynamically generated irregular arrays, you can choose different methods according to your needs. Either method can help us deal with irregular arrays and improve our work efficiency.
The above is the detailed content of How to traverse irregular array in php. For more information, please follow other related articles on the PHP Chinese website!