我正在尝试使用 foreach 循环在 PHP 中创建一个多维数组.这是目前为止的代码:
$levels = array('low', 'medium', 'high');$attributes = array('fat', 'quantity', 'ratio', 'label');foreach ($levels as $key => $level):foreach ($attributes as $k =>$attribute):$variables[] = $attribute .'_' .$级别;Endforeach;Endforeach;echo ''.print_r($levels,1) .'</pre>';echo ''.print_r($variables,1) .'</pre>';
这段代码的输出是一个一维数组;然而,这不是本意.所需的数组应如下所示:
应该如何修改代码才能达到目标?
您就快到了.只需将级别添加到数组创建中:)
$levels = array('low', 'medium', 'high');$attributes = array('fat', 'quantity', 'ratio', 'label');foreach ($levels as $key => $level):foreach ($attributes as $k =>$attribute):$variables[$level][] = $attribute .'_' .$级别;//将 $variables[] 改为 $variables[$level][]Endforeach;Endforeach;echo ''.print_r($levels,1) .'</pre>';echo ''.print_r($variables,1) .'</pre>';
输出
数组([低] =>大批([0] =>脂肪_低[1] =>数量_低[2] =>比率_低[3] =>标签低)[中] =>大批([0] =>肥中[1] =>数量_中等[2] =>比率_中[3] =>label_medium)[高] =>大批([0] =>脂肪高[1] =>数量_高[2] =>比率_高[3] =>标签高))I am trying to create a multidimensional array in PHP using a foreach loop. Here is the code thus far:
$levels = array('low', 'medium', 'high');
$attributes = array('fat', 'quantity', 'ratio', 'label');
foreach ($levels as $key => $level):
foreach ($attributes as $k =>$attribute):
$variables[] = $attribute . '_' . $level;
endforeach;
endforeach;
echo '<pre>' . print_r($levels,1) . '</pre>';
echo '<pre>' . print_r($variables,1) . '</pre>';
The output from this code is a single dimension array; however, that is not the intent. The desired array should look like this:
How should the code be modified to achieve the goal?
You're aaalmost there. Just add the level to the array creation :)
$levels = array('low', 'medium', 'high');
$attributes = array('fat', 'quantity', 'ratio', 'label');
foreach ($levels as $key => $level):
foreach ($attributes as $k =>$attribute):
$variables[$level][] = $attribute . '_' . $level; // changed $variables[] to $variables[$level][]
endforeach;
endforeach;
echo '<pre>' . print_r($levels,1) . '</pre>';
echo '<pre>' . print_r($variables,1) . '</pre>';
Output
Array
(
[low] => Array
(
[0] => fat_low
[1] => quantity_low
[2] => ratio_low
[3] => label_low
)
[medium] => Array
(
[0] => fat_medium
[1] => quantity_medium
[2] => ratio_medium
[3] => label_medium
)
[high] => Array
(
[0] => fat_high
[1] => quantity_high
[2] => ratio_high
[3] => label_high
)
)
这篇关于使用 foreach 循环创建多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
在 SELECT(MYSQL/PHP) 中加入 2 个表Joining 2 tables in SELECT(MYSQL/PHP)(在 SELECT(MYSQL/PHP) 中加入 2 个表)
如何使<option selected=“selected">由How to make lt;option selected=quot;selectedquot;gt; set by MySQL and PHP?(如何使lt;option selected=“selectedgt;由 MySQL 和 PHP 设置?)
使用 PHP 中的数组自动填充选择框Auto populate a select box using an array in PHP(使用 PHP 中的数组自动填充选择框)
PHP SQL SELECT where like search item with multiple wordsPHP SQL SELECT where like search item with multiple words(PHP SQL SELECT where like search item with multiple words)
json_encode 从 MSSQL-SELECT 产生 JSON_ERROR_UTF8json_encode produce JSON_ERROR_UTF8 from MSSQL-SELECT(json_encode 从 MSSQL-SELECT 产生 JSON_ERROR_UTF8)
MySQL ORDER BY rand(),名称 ASCMySQL ORDER BY rand(), name ASC(MySQL ORDER BY rand(),名称 ASC)