douzhao7634
2015-08-06 09:24
浏览 43
已采纳

无法从cakephp中的多维数组中删除数组键

I want to delete array index which contain rating 0 here is my array

array(
    (int) 0 => array(
        'Gig' => array(
            'id' => '1',
            'rating' => (int) 5
        )
    ),
    (int) 1 => array(
        'Gig' => array(
            'id' => '3',
            'rating' => (int) 9
        )
    ),
    (int) 2 => array(
        'Gig' => array(
            'id' => '4',
            'rating' => '0'
        )
    )
)   

and what I did

for($i = 0; $i<count($agetGigsItem); $i++)
{
if($agetGigsItem[$i]['Gig']['rating']==0)
{
unset($agetGigsItem[$i]);   
}
$this->set('agetGigsItem', $agetGigsItem);
}

i also try foreach loop but unable to resolve this issue.

foreach ($agetGigsItem as $key => $value) { 

    if ($value["Gig"]["rating"] == 0) { unset($agetGigsItem[$key]); }

}

图片转代码服务由CSDN问答提供 功能建议

我想删除包含等级0的数组索引这里是我的数组

  array(
(int)0 =&gt; array(
'Gig'=&gt; array(
'id'=&gt;'1',
'rating'=&gt;(int)  5 
)
),
(int)1 =&gt;数组(
'Gig'=&gt;数组(
'id'=&gt;'3',
'rating'=&gt;(  int)9 
)
),
(int)2 =&gt;数组(
'Gig'=&gt;数组(
'id'=&gt;'4',
'rating'=&gt;  ;'0'
)
)
)
   
 
 

我做了什么

  for(  $ i = 0; $ i&lt; count($ agetGigsItem); $ i ++)
 {
if($ agetGigsItem [$ i] ['Gig'] ['rating'] == 0)
 {
unset($  agetGigsItem [$ I]);  
} 
 $ this-&gt; set('agetGigsItem',$ agetGigsItem); 
} 
   
 
 

我也尝试使用foreach循环但无法解决此问题 问题。

  foreach($ agetGigsItem as $ key =&gt; $ value){
 
 if($ value [“Gig”] [“rating”] ==  0){unset($ agetGigsItem [$ key]);  } 
 
} 
   
 
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

4条回答 默认 最新

  • doremifasodo0008008 2015-08-06 10:12
    最佳回答

    I think you need to reupdate your array.

    foreach ($agetGigsItem as $key => $value) {
    if ($value["Gig"]["rating"] != 0) 
    {
    unset($agetGigsItem[$key]); 
    }
    $this->set('agetGigsItem', $agetGigsItem);
    }
    
    评论
    解决 无用
    打赏 举报
查看更多回答(3条)

相关推荐 更多相似问题