我正在尋找一個字符串作爲數組中的數組值是否存在以檢查是否可能以及如何使用PHP?在數組中搜索匹配的字符串
2
A
回答
8
如果你只是想知道,如果它存在,使用in_array(),如:
$exists = in_array("needle", $haystack);
如果你想知道它的相應的鍵,用array_search(),如:
$key = array_search("needle", $haystack);
// will return key for found value, or FALSE if not found
1
0
3
你可以使用PHP的in_array
函數來查看它是否存在,或者array_search
看看它在哪裏。
例子:
$a = array('a'=>'dog', 'b'=>'fish');
in_array('dog', $a); //true
in_array('cat', $a); //false
array_search('dog', $a); //'a'
array_search('cat', $a); //false
0
的array_search
功能不正是你想要的。
$index = array_search("string to search for", $array);
1
再者,雖然你可能應該使用in_array
或array_search
喜歡這些美好的先生們建議,只是讓你知道該怎麼做的情況下,你需要做一個手動搜索,你也可以這樣做:
<?php
// $arr is the array to be searched, $needle the string to find.
// $found is true if the string is found, false otherwise.
$found = false;
foreach($arr as $key => $value) {
if($value == $needle) {
$found = true;
break;
}
}
?>
我知道這似乎愚蠢做了人工搜索,找到一個字符串 - 它是 - 但你可能有一天希望與數組做更復雜的東西,所以它的好,知道如何真正得到每$ key- $值對。
0
說我們有這個數組:如果你想檢查元素「富」是陣列中
<?php
$array = array(
1 => 'foo',
2 => 'bar',
3 => 'baz',
);
?>
,你會如果你想獲得這樣做
<?php
if(in_array('foo', $array)) {
// in array...
}else{
// not in array...
}
?>
「富」的數組索引,你可以這樣做:
<?php
$key = array_search('foo', $array);
?>
此外,對於自變量在這些函數的順序一個簡單的規則是:「需要樂,然後乾草堆「;你在找什麼應該是第一位的,你在找什麼。
相關問題
- 1. 字符串搜索/通配符匹配
- 2. 正在搜索匹配的字符串
- 3. 字符串匹配的搜索
- 4. 如何搜索匹配字符串的Perl數組?
- 5. 字符串和返回匹配的搜索數組^
- 6. MongoDB字符串類型字段搜索匹配字符串數組
- 7. 在字符串中搜索整數。數據類型不匹配?
- 8. 字符串數組匹配字符串
- 9. 根據數組中的值在字符串中搜索完全匹配
- 10. 如何在C#中搜索匹配的字符串數組,如我的代碼
- 11. 用於在數組中匹配匹配索引字符串的PHP函數?
- 12. 在數組中匹配字符串php
- 13. 如何搜索匹配字符串的xml數據的數組索引?
- 14. 字符串搜索數組
- 15. 搜索字符數組串
- 16. 在Java中搜索字符串數組?
- 17. 在mysql中搜索字符串數組
- 18. 在數組中搜索字符串
- 19. Hibernate在字符串數組中搜索
- 20. 最簡單的方法來匹配字符串數組在Perl中搜索?
- 21. 編程語法 - 在數組中搜索匹配輸入的字符串 - visual basic
- 22. 在字符串數組中搜索精確的字符串?
- 23. 數組中的Ruby匹配字符串
- 24. Rails:使用Postgres字符串數組中的通配符搜索
- 25. 搜索可變數組中的通配符和字符串
- 26. 搜索數組中的字符串
- 27. VB.net搜索數組中的字符串
- 28. 搜索android中的字符串數組
- 29. JQuery搜索數組中的字符串
- 30. 字符串匹配字符串搜索列表
可能的重複:http://stackoverflow.com/questions/555975/how-to-find-a-string-in-an-array-in-php – 2010-08-17 19:14:19