2017-01-03 62 views
0

因此,可以說我在我的PHP腳本這一行:
array_push($arr,array($a,$b,$c));
可以說,有時我有一個$b1變量來把這個陣列 中,我想不會有重複的緣故維護我怎樣才能避免這樣做: ```PHP避免將值

if(!isset($b1)){ 
    array_push($arr,array($a,$b,$c,$d)); 
} 
else{ 
    array_push($arr,array($a,$b,$b1,$c,$d)); 
} 

```

+0

是否要擴展'$ arr',或者在其中放置另一個數組,以及'$ b1'的確切位置來自哪裏。你必須更具體一點,並且描述如何重現你的例子。 –

+0

'$ b1''只是可選的,''$ arr''是一個數組數組,我將''arr''傳遞給javasciprt,稍後它會用來生成一個表;在這種情況下'$ b1''是一個可選的列 –

回答

0

這是我與
我希望想出瞭解決方案對於某種我不知道的語法技巧。
我相信這與Marko Mackic的解決方案相同,但不使用@來抑制錯誤,但是如果實際需要在數組中有空值,這不是一個解決方案。

function skipNull($in){ 
    $out=array(); 
    foreach($in as $val){ 
     if($val!==null){ 
      array_push($out,$val); 
     } 
    } 
    return $out; 
} 
//skip part where variable are defined 
array_push($arr,skipNull(array(
    $a,$b, 
    isset($b1)?$b1:null, 
    $c,$d 
))); 
+0

嗯''''可以簡寫爲'isset' :)這是同樣的解決方案,我的解決方案不會抑制錯誤,因爲如果一個變量沒有定義,你會得到通知 –