3 回答

TA貢獻1875條經驗 獲得超5個贊
可以試一下這幾種方式,每種方式各有優劣:
#!/bin/perl -w
use strict;
my @arr = ( "aaa","bbb","ccc","ddd","eee","fff"); # 這個是數組
my $vv = "ddd"; # 這個是要查找的變量
# 方法1,:使用類似c語言的風格,遍歷這個數組,查找變量是否匹配。
foreach ( @arr)
{
if( $vv eq $_ )
{
print "$vv\n"
}
}
#方法2:使用map,查找數組中是否含有該變量
map { if($vv eq $_) { print "$vv\n"} } @arr;
#方法3:使用grep,查找數組中是否含有該變量
print( grep /^$vv$/, @arr );
以上3中方式的編碼均已經測試過了,能夠得到正確答案。如果LZ初學,可以使用方法1中的類似C語言的循環風格 ……

TA貢獻1982條經驗 獲得超2個贊
array_search() 函數與 in_array() 一樣,在數組中查找一個鍵值。如果找到了該值,匹配元素的鍵名會被返回。如果沒找到,則返回 false。
在 PHP 4.2.0 之前,函數在失敗時返回 null 而不是 false。
如果第三個參數 strict 被指定為 true,則只有在數據類型和值都一致時才返回相應元素的鍵名。
你的$c是字符串
$c=array(1,2,3,4); 這樣才是數組
$result = array_search($a, $c);
//這里要用三個等于號,因為兩個等于號,如果鍵名是0也會進來
if ($result === false) {
echo “沒有相同";
} else {
echo "有相同";
}
- 3 回答
- 0 關注
- 1635 瀏覽
添加回答
舉報