[英]multiple condtion in defining a variable - PHP
我有這個數組$node_actions
:
Array
(
[new] => yes
[fav] => no
[eye] => no
[edit] => yes
[delete] => yes
)
有時它會切碎一些元素(例如new
或eye
)。因此,我需要定義一個具有以下操作的變量:
$actions = $new.' '.$fav.' '.$eye.' '.$edit.' '.$delete;
這是我的方法:
if(!isset(($node_actions['new'])){
$actions =$fav.' '.$eye.' '.$edit.' '.$delete;
}elseif(!isset(($node_actions['fav'])){
$actions =$new.' '.$eye.' '.$edit.' '.$delete;
}elseif(!isset(($node_actions['eye'])){
$actions =$new.' '.$fav.' '.$edit.' '.$delete;
}elseif(!isset(($node_actions['edit'])){
$actions =$new.' '.$fav.' '.$eye.' '.$delete;
}elseif(!isset(($node_actions['delete'])){
$actions =$new.' '.$fav.' '.$eye.' '.$edit;
}elseif(!isset(($node_actions['new']) && !isset(($node_actions['new']) ){
$actions =$eye.' '.$edit.' '.$delete;
}else{
} //.... and so on
有沒有一種優雅的簡便方法可以做到這一點? 非常感激。
嘗試做:
$actions = "";
foreach($yourArr as $key => $val) {
$actions .= $$key. " ";
}
$actions = trim($actions);
嘗試循環
foreach($arr as $k=>$v) {
if(!empty($v)) {
$actions .= $v.' '; // yes no no yes yes
//$actions .= $k.' '; //new fav eye edit delete
}
}
echo $actions;
我更喜歡在$ new = 1中使用這種方法; $ fav = 2; $ eye = 4; $ edit = 8; $ delete = 16; 是綁定到某些特定任務的變量,它們與來自GET或POST的某些變量(在本例中為$ action)匹配
<?php
$new = 1;
$fav = 2;
$eye = 4;
$edit = 8;
$delete = 16;
$action = $fav | $eye; // OR $fav | $eye | $delete OR $new
if($action & $new) {
echo "new";
}
if($action & $fav) {
echo "fav";
}
if($action & $eye) {
echo "eye";
}
if($action & $edit) {
echo "edit";
}
if($action & $delete) {
echo "delete";
}
?>
希望這個能對您有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.