php中的三维数组循环
我有一个数组,如下所示:php中的三维数组循环,php,arrays,loops,multidimensional-array,Php,Arrays,Loops,Multidimensional Array,我有一个数组,如下所示: Array ( [0] => Array ( [id] => 39 [nume] => Ardeleanu [prenume] => Bogdan [crm] => Array ( ) ) [1] => Array ( [id] => 40 [nume]
Array
(
[0] => Array
(
[id] => 39
[nume] => Ardeleanu
[prenume] => Bogdan
[crm] => Array
(
)
)
[1] => Array
(
[id] => 40
[nume] => Avram
[prenume] => Corina
[crm] => Array
(
[2014-02-27] => 2
[2014-02-28] => 1
)
)
)
这是我的密码:
foreach ($newOrders as $crm) {
foreach ($crm as $angajati) {
foreach ($angajati['crm'] as $val) {
echo $val;
}
}
}
我得到警告:
非法字符串偏移量“crm”
我遗漏了什么?您试图在整个2级阵列上循环,但只有
crm
阵列的关键点。因此,您需要执行以下操作:
foreach ($newOrders as $crm)
{
if(isset($crm['crm']))
{
foreach ($crm['crm'] as $val)
{
echo $val;
}
}
}
-如果要在
crm
键中获取值。它可能不存在,因此,我添加了isset
check。您试图在整个第二级阵列上循环,但仅将crm
关键点添加到阵列中。因此,您需要执行以下操作:
foreach ($newOrders as $crm)
{
if(isset($crm['crm']))
{
foreach ($crm['crm'] as $val)
{
echo $val;
}
}
}
-如果要在
crm
键中获取值。它可能不存在,因此,我添加了isset
check。它有帮助吗
foreach ($newOrders as $key=>$val) {
if(array_key_exists("crm",$val) && count($val["crm"]) > 0 ){
foreach($val["crm"] as $k=>$v){
echo $k." = ".$v."<br />";
}
}
}
这样做是为了避免在缺少元素或数据数组不存在的情况下,在foreach中提供无效索引和无效参数等进一步的通知。这有帮助吗
foreach ($newOrders as $key=>$val) {
if(array_key_exists("crm",$val) && count($val["crm"]) > 0 ){
foreach($val["crm"] as $k=>$v){
echo $k." = ".$v."<br />";
}
}
}
这样做是为了避免在缺少元素或数据数组不存在时,在foreach中提供无效索引和无效参数等进一步通知。+1。你可能还想解释你在做什么。添加了解释。我需要来自“crm”[2014-02-27]=>2[2014-02-28]=>1的值来进行mysql查询。所以我需要密钥和值。您的代码没有显示任何内容:(@user3387622此代码工作正常,您需要显示代码的不同之处。+1.您可能还需要解释您正在执行的操作。添加了解释。我需要来自“crm”[2014-02-27]=>2[2014-02-28]的值=>1用于mysql查询。所以我需要键和值。您的代码没有显示任何内容:(@user3387622此代码工作正常,您需要显示您的代码有何不同。您想回显什么?只是crm数组?或者您想打印所有内容?我需要这个[2014-02-27]=>2在下面添加一个答案。希望这就是你想要的。你想回应什么?只是crm阵列?还是你想打印所有东西?我需要这个[2014-02-27]=>2在下面添加一个答案。希望这就是你想要的。通过这个我得到了“未定义的索引:crm”。我已经添加了
isset
检查我得到的“未定义索引:crm”我添加了isset
检查