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

我知道在PHP中,索引数组如下所示:

$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

确保阅读并理解以下内容:

  • PHP数组都是关联的;键可以是字符串,如果没有显式设置,则将是整数
  • 关联数组的形式是key=>value对。如果您有一个键,您可以找到与之关联的值
  • 当尝试从PHP数组中获取值时,语法是:
    $array['key']
    或者在多维情况下
    $array['firstlevelkey']['secondlevelkey']
    等。返回的值将是该特定键处的键=>值对的值

  • 我希望这是有帮助的!

    你知道自己试试有多容易吗?
    $hello=$array[$array[“hello”]];
    会失败。你当然可以将一个数组的值用作另一个数组的键,但你不能通过它的值来查找值。array\u search(),如果只需要已知值的键:echo array_search('hello',$array);=0