[英]Excluding multiple values from the array
我有以下代碼
'delete' => function($url, $model) {
$url = Url::to(['category/delete/'.$model->info_category_id]);
return ($model->info_category_id !== 11)?Html::a('<i class="icon-trash"></i>', $url, ['class'=>'black-txt tips del-confirm-subitems']):'';
},
這是關於在后端創建特定類別的刪除功能。 如您在第三行中看到的,它從刪除功能中排除了類別ID號11。 除了類別ID號11,我還想從數據庫中添加類別ID號15,但是當我按如下方式插入15時,它會導致錯誤: ($model->info_category_id !== 11, 15)
。
如果您能幫助我在代碼中正確插入category_id 15號,我將不勝感激。
提前致謝。
請嘗試以下操作:
return (!in_array($model->info_category_id,[11,15]))?Html::a('<i class="icon-trash"></i>', $url, ['class'=>'black-txt tips del-confirm-subitems']):'';
這樣做的方式是PHP的語法不正確。 上面的示例使用in_array
函數來確定$model->info_category_id
的值是否與提供的數組內的任何值匹配。 或者您可以嘗試這樣:
return ($model->info_category_id !== 11 && $model->info_category_id !== 15)?Html::a('<i class="icon-trash"></i>', $url, ['class'=>'black-txt tips del-confirm-subitems']):'';
它只是單獨檢查值。
您不能像這樣進行多次比較:
$a !== $b, $c
但是,您可以這樣做:
$a !== $b || $a !== $c
或者,您可以使用數組:
!in_array($a, [$b, $c])
您可以擁有一個要排除ID的數組,然后將其包括在閉包范圍內,並使用in_array()
檢查ID是否存在於數組中:
$excluded = [11, 15];
'delete' => function($url, $model) use ($excluded) {
$url = Url::to(['category/delete/'.$model->info_category_id]);
return (!in_array($model->info_category_id, $excluded))?Html::a('<i class="icon-trash"></i>', $url, ['class'=>'black-txt tips del-confirm-subitems']):'';
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.