Php 如何拥有更高级的阵列?
基本上,我现在将一组值放入一个数组中,如下所示:Php 如何拥有更高级的阵列?,php,arrays,Php,Arrays,基本上,我现在将一组值放入一个数组中,如下所示: $flavors = array('Original','Cherry','Chocolate','Raspberry','Mango'); 从这里我可以执行这样一个foreach: foreach($flavors as $flav) { echo doSomething($flav); } 这一切都是一种享受,直到我进入学习的下一个阶段,可能是将两个变量放入doSomething() 例如,假设我想加入樱桃的成分,例如
$flavors = array('Original','Cherry','Chocolate','Raspberry','Mango');
从这里我可以执行这样一个foreach:
foreach($flavors as $flav) {
echo doSomething($flav);
}
这一切都是一种享受,直到我进入学习的下一个阶段,可能是将两个变量放入doSomething()
例如,假设我想加入樱桃的成分,例如
echo doSomething($flav, $ingredient_of_this_flav);
我不确定是否有任何方法可以做到这一点。。。我想我可能完全需要第二个数组,在这里我使用上面的值作为键?e、 g
$ingredients = array('Original' => 'boring stuff', 'Cherry' => 'cherries and other stuff') etc
然后我会这样做
我想我现在应该去试试这个。这是最好的方法还是有更好的方法?理想情况下,我只需要一个数组,而不必设置$香料和$配料
谢谢您的时间。您已经注意到,php中的数组是关联的。如果我理解正确,您是在寻找循环遍历每个键/值对的语法吗
foreach($ingredients as $flav => $ingredient) {
echo doSomething($flag, $ingredient);
}
这就是你要找的吗
如果您希望每个键都有复杂的值,那么您可能希望查看对象,或者更残酷的版本,数组的数组
$ingredients = array('Cherry' => array('Cherries', 'Other stuff'));
上面循环中的
$component
将是一个数组。我将使用一个关联数组(又称哈希表)和一个flavor=>components方法。大概是这样的:
$flavors = array ('Cherry' => array('stuff1', 'stuff2'),
'Mango' => array('stuff1', 'stuff3'));
echo $flavors['Cherry'][0]; // stuff1
foreach($flavors as $flavor => $ingredients)
{
print $flavor;
// $ingredients is an array so we need to loop through it
foreach($ingredients as $ingredient)
{
print $ingredient;
}
}
foreach ($ingredients as $flav => $ingredients)
{
echo doSomething($flav, $ingredients);
}
这称为嵌套循环,将打印味道和每种成分 您可以对数组的键和值进行foreach
foreach ($ingredients as $flav => $ingredients)
{
echo doSomething($flav, $ingredients);
}
你快到了。我会将数组设置为如下所示:
$ingredients = array('Original' => array('boring stuff', 'boring stuff2'), 'Cherry' => array('cherries', 'other stuff'));
然后循环如下:
foreach($flavors as $flav => $ingredient) {
echo doSomething($flav, $ingredient);
}
当然,这完全取决于你在“doSomething()中做了什么”