0

我有一个示例代码:

$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");
4

2 回答 2

2

您必须指定您希望当前分配给$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
)
于 2012-07-14T09:23:15.360 回答
2

你应该像这样定义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" }

看到这个小提琴

于 2012-07-14T09:23:24.480 回答