php多维foreach循环



我有一个数组,我试图用foreach循环它,但我得到了

为内部循环上的foreach((提供的参数无效。

我不确定我有什么不正确的地方。我试过使用$key

这是阵列:

array(3) { ["company_id"]=> string(3) "159" 
    [0]=> array(9) { 
        ["company_id"]=> string(3) "159" 
        ["employee_id"]=> string(3) "544" 
        ["pay_week1"]=> string(1) "0" } 
    [1]=> array(9) { 
        ["company_id"]=> string(3) "159" 
        ["employee_id"]=> string(3) "545"  } } 

我的循环:

foreach ($this->request->data['MonthlyReturn'] as $key=>$m) // Cycle through each record
{
    foreach ($key as $empl)
    {
        $employee = $empl['employee_id'];
        print '<pre>';
        print_r ($employee);
        exit;
    }
  1. 在foreach内部循环$key将其更改为$m

  2. 此外,数组的第一个值不是数组,即["company_id"]=> string(3) "159"是字符串(159(,因此它会出错。所以在内部foreach检查数组之前也是CCD_ 5。

这是代码:

         foreach ($this->request->data['MonthlyReturn'] as $key=>$m){
              if(is_array($m)){
                  echo $m['employee_id'];
              }
              else{
                   echo $m;
              }
         } 

更改此

foreach ($key as $empl)  // $key is array key

foreach ($m as $empl)   // $m is your array value

您的数组无法处理该代码。它需要一个多元素数组,但它并不完全第一个深度上有一个字符串值

array(3) {
        ["company_id"]=> string(3) "159" <--- problem
        [0]=> array(9) { 
            ["company_id"]=> string(3) "159" 
            ["employee_id"]=> string(3) "544" 
            ["pay_week1"]=> string(1) "0" 
        } 
        [1]=> array(9) { 
            ["company_id"]=> string(3) "159" 
            ["employee_id"]=> string(3) "545"  
        } 
    } 

它试图循环通过一个字符串值,这将生成一个错误

相关内容

  • 没有找到相关文章