1. 什么是数组?
在 PHP 中,数组是一种用来存储多个值的数据结构。每个值都有一个与之对应的键或索引,可以使用这个键或索引来访问数组中的值。例如,下面是一个包含三个元素的数组:
$fruits = array("apple", "banana", "cherry");
在这个数组中,值 "apple" 的索引是 0,值 "banana" 的索引是 1,值 "cherry" 的索引是 2。
2. 如何查询数组中的元素位置?
PHP 中可以使用一些内置函数来操作数组。查找数组中某个元素的位置可以使用 array_search()
函数或者 in_array()
函数。
2.1 array_search()
array_search() 函数的使用方法如下:
$array = array('value1', 'value2', 'value3');
$key = array_search('value2', $array);
上述代码中,$key 的值为 1,因为 'value2' 是 $array 数组中的第二个元素,它的位置是 1。
如果数组中有多个与要查找的元素相等的元素,则返回数组中第一个相等元素的位置。
如果要查找的元素在数组中不存在,则返回 FALSE,需要注意的是,返回 FALSE 和返回 0 是不同的。
2.2 in_array()
in_array() 函数的使用方法如下:
$array = array('value1', 'value2', 'value3');
$found = in_array('value2', $array);
如果数组中有元素的值等于 'value2',则 $found 的值为 TRUE,否则 $found 的值为 FALSE。
3. 示例程序
以下是一个使用 array_search() 函数和 in_array() 函数查询数组中元素位置的简单示例程序:
$fruits = array("apple", "banana", "cherry");
$index1 = array_search("banana", $fruits);
$index2 = in_array("cherry", $fruits);
echo "Banana is at index $index1. <br>";
echo "Cherry is " . ($index2 ? "" : "not ") . "in the array.";
上述程序输出结果如下:
Banana is at index 1. Cherry is in the array.
在这个程序中,我们使用 array_search() 函数查找了数组 $fruits 中 "banana" 的位置,使用 in_array() 函数判断了数组 $fruits 中是否包含 "cherry"。