Php 从数组中获取值时获取不正确的值
我需要从一个数组中获取值,为此,我尝试引用此处的代码 我拥有的数组是Php 从数组中获取值时获取不正确的值,php,arrays,for-loop,multidimensional-array,foreach,Php,Arrays,For Loop,Multidimensional Array,Foreach,我需要从一个数组中获取值,为此,我尝试引用此处的代码 我拥有的数组是 Array ( [success] => 1 [products] => Array ( [0] => Array ( [id] => 405 [name] => GOLD CHID [cat
Array
(
[success] => 1
[products] => Array
(
[0] => Array
(
[id] => 405
[name] => GOLD CHID
[categories] => Array
(
[0] => 39
[1] => 59
)
)
[1] => Array
(
[id] => 404
[name] => KASHMIRI
[categories] => Array
(
[0] => 39
[1] => 59
)
)
[2] => Array
(
[id] => 403
[name] => ENVELOPE BOX
[categories] => Array
(
[0] => 0
[1] => 39
[2] => 59
)
)
)
)
我用来获取数组的代码是
if (!empty($array))
{
foreach ($array['products'] as $product)
{
echo $product['id'];
echo "<br>";
echo $product['name'];
echo "<br>";
if(isset($product['categories']))
{
foreach($product['categories'] as $category)
echo $category['0'];
echo "<br>";
echo $category['1'];
echo "<br>";
}
}
}
谁能告诉我哪里出了问题吗?你的问题源于几个问题
- 首先,不要将第二个
循环用大括号括起来foreach
- 其次,当代码不希望这样做时,您正在迭代这些类别
foreach($product['categories'] as $category)
echo $category['0'];
echo "<br>";
echo $category['1'];
echo "<br>";
改变这个
foreach($product['categories'] as $category)
{
echo $category['0'];
echo "<br>";
echo $category['1'];
echo "<br>";
}
foreach($product['categories']作为$category)
{
echo$category['0'];
回声“
”;
echo$类别['1'];
回声“
”;
}
对此
foreach($product['categories'] as $category)
{
echo $category;
echo "<br>";
echo $category;
echo "<br>";
}
foreach($product['categories']作为$category)
{
echo$类别;
回声“
”;
echo$类别;
回声“
”;
}
因为在您的代码中,
$category[0]
将在35
中输出第0个元素。$category将给出实际值感谢您在echo$category中的ans;我得到了这些值,但我希望将它们分别存储在数据库中,是否有一种方法可以在单独的变量中获取值39、59???是的,不要使用foreach
循环并将它们称为$product['categories'][0]
和$product['categories'][1]
。如果[0]和[1]中有不同数量的类别,您能告诉我吗。在每个循环中,我将$category['0']指定为主类别,将$category['1']指定为子类别,但现在当我在数组中进一步深入时,我在类别中有3个位置,分别位于[0]、[1]和[2]位置,[1]是类别的保留值,[2]是子类别的保留值。我现在怎样才能得到category的值呢???我得到的是单个产品的重复值39和59,而我希望每个产品只将它们单独存储在一个变量中一次
foreach($product['categories'] as $category) {
echo $category;
echo "<br>";
}
foreach($product['categories'] as $category)
{
echo $category['0'];
echo "<br>";
echo $category['1'];
echo "<br>";
}
foreach($product['categories'] as $category)
{
echo $category;
echo "<br>";
echo $category;
echo "<br>";
}