在PHP編程中,數組(array)是不可或缺的數據類型之一。在數組的操作中,search(查詢)是其中最為常見且基礎的操作之一。針對這一問題,PHP提供了一個內置函數array_search()。
array_search()函數 - 在數組中搜索指定的值,并返回該值的鍵名
array_search()函數的語法如下:
```
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
```
這個函數首先需要指定一個需查找的值$needle,以及被查找的數組$haystack。同時還有一個可選的,用于指定嚴格匹配的布爾型參數$strict,默認為false。
下面來看一段代碼,演示一下array_search()函數的使用:
```php
$array = array('apples', 'oranges', 'pears');
$key = array_search('oranges', $array); // $key = 1
```
上述代碼首先定義了一個包含三種水果名稱的數組$array。其中,使用array_search()函數查找了'oranges'的鍵名,結果為1,因為'oranges'位于數組中的第二個位置。
當然,如果search(查詢)的元素位于數組中的多個位置上,array_search()返回的是第一個發現位置的鍵名。
```php
$array = array(2, 3, 3, 6, 7);
$key = array_search(3, $array); // $key = 1
```
上述代碼定義了一個包含多個相同元素值的數組$array,并使用array_search()函數查詢了數組中的第一個值為3的鍵名,結果為1。
此外,array_search()函數還可被用于遍歷數組,并將元素的值和對應的鍵名傳遞給自定義函數中,進行進一步的處理。代碼如下:
```php
$array = array('apple' =>'red', 'banana' =>'yellow', 'grapefruit' =>'pink');
function searchFruitColor($value, $key) {
echo $key . ' is ' . $value . '
'; } array_walk($array, 'searchFruitColor'); ``` 上述代碼中,首先定義了一個關聯數組$array,其鍵名為水果名稱,值為顏色。在自定義函數searchFruitColor()中,將輸入的鍵名和值進行相應的處理并輸出。 最后,在使用array_walk()函數進行遍歷數組時,還將自定義函數的名稱作為第二個參數傳遞進去,從而執行該函數,并輸出結果。 總之,array_search()函數是一個十分實用,且常用的數組函數特性,是PHP數組使用中不可或缺的一部分。在實際工作中,應該適時地靈活運用該函數,提高開發的代碼效率。
'; } array_walk($array, 'searchFruitColor'); ``` 上述代碼中,首先定義了一個關聯數組$array,其鍵名為水果名稱,值為顏色。在自定義函數searchFruitColor()中,將輸入的鍵名和值進行相應的處理并輸出。 最后,在使用array_walk()函數進行遍歷數組時,還將自定義函數的名稱作為第二個參數傳遞進去,從而執行該函數,并輸出結果。 總之,array_search()函數是一個十分實用,且常用的數組函數特性,是PHP數組使用中不可或缺的一部分。在實際工作中,應該適時地靈活運用該函數,提高開發的代碼效率。