2010-02-02 35 views
0

使用array_combine()的數字,但在第一個數組中沒有數值時顯示錯誤。 如何擺脫這種array_combine在第一個數組中沒有數值時卡住

編輯:

First array 
Distance_Array 
Array 
(
    [0] => 
) 

School_ID_Array 
Array 
(
    [0] => 
) 
and i m using 
$Coverage_ Array=array_combine($School_ID_Array,$Distance_Array); 

which results 

Coverage_ Array 
Array 
(
    [] => 
) 

i want that in first array, if any value is empty , 
then Coverage_ Array key accept any default key 
+0

你是什麼意思「沒有價值」? – cletus 2010-02-02 13:32:57

回答

3

使用情況是這樣的:

if (isset($some_var_or_array) && !empty($some_var_or_array)) { 
    // some code which using $some_var_or_array value(s) 
} 

UDATED

這裏的功能ArrayCombine(),它得到三個參數:兩個數組和第三 - 默認參數。默認的參數值將被設置爲空或歸零第一陣列值:

function ArrayCombine($array1, $array2, $default = 0) 
{ 
    foreach ($array1 as $key => $value) { 
     if (!isset($value) || empty($value)) { 
      $array1[$key] = $default; 
     } 
    } 
    return array_combine($array1, $array2); 
} 

這裏的例子:

$Distance_Array = array(
    1 => '', 
); 

$School_ID_Array = array(
    3 => 4, 
); 

$Coverage_Array = ArrayCombine($Distance_Array, $School_ID_Array); 

var_dump($Coverage_Array); 

/* 
    var_dump output: 
    array(1) { 
     [24]=> 
      int(4) 
    } 
*/ 
+0

@I Like PHP:檢查更新的代碼 – 2010-02-02 14:20:30

0

array_combine()

錯誤/異常

拋出E_WARNING如果鍵和值 要麼是空的或號碼 元素不匹配。

因此,您需要確保陣列中有某物或不要撥打array_combine()。例如:

if (count($keys) > 0 && count($values) > 0 && count($keys) == count($values)) { 
    $combined = array_combine($keys, $values); 
} 
相關問題