Php 索引数组可以用作关联数组吗?
我知道在PHP中,索引数组如下所示:Php 索引数组可以用作关联数组吗?,php,arrays,Php,Arrays,我知道在PHP中,索引数组如下所示: $array = ("hello", "world") $array = (0 => "hello", 1 => "world"); 与如下所示的关联数组相同: $array = ("hello", "world") $array = (0 => "hello", 1 => "world"); 所以我的问题是这样的代码是否有效: $hello = $array[$array["hello"]]; $hello = $ar
$array = ("hello", "world")
$array = (0 => "hello", 1 => "world");
与如下所示的关联数组相同:
$array = ("hello", "world")
$array = (0 => "hello", 1 => "world");
所以我的问题是这样的代码是否有效:
$hello = $array[$array["hello"]];
$hello = $array[$array["hello"]];
我的想法是,它转化为
$hello = $array[0]
,这将等于
$hello = "hello"
。换句话说,威尔
$array["hello"]
等于0?否,不能立即通过某个数组元素的值获取该元素的键。。。除非使用以下选项切换键和值: 否,因为“hello”不是$array中的有效键
您可以使用array\u key\u exists(key,*array*)检查键是否存在
$array = ("hello", "world") // This is implicitly indexed by integer.
同:
$array = (0 => "hello", 1 => "world"); // Explicit indexing.
您可以通过执行打印($array)
进行验证;无论哪种情况,输出都将显示一个索引数组。PHP数组都是关联的。即使未指定键,数组中的值也按整数索引号排序
现在让我们来看看:
所以我的问题是这样的代码是否有效:
$hello = $array[$array["hello"]];
$hello = $array[$array["hello"]];
这就是代码将被破解的地方。为什么?
$array[“hello”]
不是有效值。这引用的是“索引“hello”处数组列表的值”
但是,数组(“hello”,“world”)
没有索引键“hello”。相反,它有一个值“hello”,该值隐式地包含键索引0
确保阅读并理解以下内容:
$array['key']
或者在多维情况下$array['firstlevelkey']['secondlevelkey']
等。返回的值将是该特定键处的键=>值对的值我希望这是有帮助的!你知道自己试试有多容易吗?
$hello=$array[$array[“hello”]];
会失败。你当然可以将一个数组的值用作另一个数组的键,但你不能通过它的值来查找值。array\u search(),如果只需要已知值的键:echo array_search('hello',$array);=0