我只是php的新手。所以这个问题可能听起来很幼稚。但我真的很想知道这个。我在一个 php 文件中看到一个 php 代码行是这样的
$taxonomies = array();
如果我没记错的话,这里看起来分类法是存储在数组中的变量。那么有人可以澄清我这样做的目的是什么?变量如何存储在数组中任何活生生的例子或任何链接都会真正消除我的疑问。
这只是定义这个变量是一个数组。
它声明为没有元素$taxonomies
的空数组。您可以使用它来声明一个您事先不知道其元素的数组
$taxonomies = array();
echo count($taxonomies); //outputs 0 - meaning no elements
开始向数组添加元素
$taxonomies[] = "John"; //puts John in positon 0
$taxonomies['species'] = 'Pisces'; //associative array
$taxonomies[10] = 'Arachnida';
echo count($taxonomies); //outputs 3 - no longer empty
在您的示例代码段之后,该变量$taxonomies
不会存储在数组中,而是$taxonomies
实际上变成了一个数组。
array ()
用于形成一个空数组,这正是$taxonomies
您的语句之后的内容。
要将元素添加到新数组中,您可以使用空方括号技巧 ( $taxonomies[] = "new element";
) 或array_push
(以及其他函数)。
见http://php.net/manual/en/language.types.array.php
$taxonomies
设置为空白数组
$taxonomies[0] = "foo"
将索引 0 设置为foo
PHP 也支持关联数组,所以你也可以这样做
$taxonomies["name"] = "John"
在 PHP 中,数组实际上是有序映射,因此您不需要设置和初始大小。
正如其他人发布的那样,它说变量是数组,当您在 foreach 中使用 $taxonomies 时,这反过来会抑制警告。每当您可以从某个函数等中获取一个空值,然后您像使用数组一样使用该变量时,请始终执行以下检查:
if(empty($taxonomies))$taxonomies = array();
现在你可以写
foreach ($taxonomies as $value)
无需担心 PHP 警告