我想创建一个像$animal = array("a" => "horse","b" => "fish")
这样的数组
在数组中创建一个元素(键和值)是约束条件,也就是说
在第一次创建键“a”和值“马”时,要$animal = array("a" => "horse")
,
在第二次创建键“b”和值“鱼”,以使$animal = array("a" => "horse","b" => "fish")
。
我可以两次创建array("horse","fish")
,第一次将数组转换为array("horse")
,
第二次将数组转换为array("horse","fish")
。
<?php
$animal = array();
$x2 = "horse";
$x4 = "fish";
$animal[] = $x2;
$animal[] = $x4;
print_r($animal);
?>
如何以相同的方式创建数组(“a”=&gt;“horse”,“b”=&gt;“fish”)?
<?php
$animal = array();
$x1 = "a";
$x2 = "horse";
$x3 = "b";
$x4 = "fish";
array_keys($animal[]) = $x1;
array_values($animal[]) = $x2;
array_keys($animal[]) = $x3;
array_values($animal[]) = $x4;
print_r($animal);
?>
如何修复我的代码来完成这项工作?
答案 0 :(得分:5)
当使用[]将元素推入数组时,您可以指定键,如果未指定键,则使用默认值,因此:
<?php
$animal = array();
$x1 = "a";
$x2 = "horse";
$x3 = "b";
$x4 = "fish";
$animal[$x1] = $x2;
$animal[$x3] = $x4;
print_r($animal);
?>
答案 1 :(得分:1)
$x1 = "a";
$x2 = "horse";
$x3 = "b";
$x4 = "fish";
print_r($animal = array_combine([$x1, $x3], [$x2, $x4]));
结果
Array (
[a] => horse
[b] => fish
)
答案 2 :(得分:0)
首先,使用range()函数创建一个包含所有字母的数组。然后,您可以使用字母作为键来创建项目。但请记住,您只能在数组中创建许多项目作为字母表中的字母。一旦那时,你就会失去钥匙。
<?php
/* Get all the alphabet letters. They will be your array keys */
$letters = range('a', 'z');
$animal = array();
$animal[$letters[count($animal)]] = "horse";
$animal[$letters[count($animal)]] = "fish";
$animal[$letters[count($animal)]] = "dog";
print_r($animal);
这会产生这个:
Array
(
[a] => horse
[b] => fish
[c] => dog
)