在数组php中检查exist键时出错


Error when check exist key in a array php?

我有一个示例代码:

$array1 = ("key1", "key3");
$array2 = ("value1", "value3");
$array = array_combine($array1, $array2);
if(!isset($array["key2"])) {
   $array["key2"] = "value2";
} 

但结果是错误,如何修复

array("key1"=>"value1", "key2"=>"value2", "key3"=>"value3");

您必须指定希望当前分配给$array1$array2的参数用作数组。

$array1 = array ("key1", "key3");
$array2 = array ("value1", "value3");

完整示例

$array1 = array ("key1",     "key3");
$array2 = array ("value1", "value3");
$array  = array_combine($array1, $array2);
if(!isset($array["key2"])) {
  $array["key2"] = "value2";
} 
print_r ($array);

Array
(
    [key1] => value1
    [key3] => value3
    [key2] => value2
)

您应该这样定义array1和array2:

$array1 = array("key1", "key3");
$array2 = array("value1", "value3");

看看这把小提琴。

如果你想订购它们,只需使用ksort:

ksort($array);
// var_dump($array); output:
// array(3) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" ["key3"]=> string(6) "value3" }

看看这把小提琴。