以下是我在php代碼中的要求。找到所有特定詞的位置
$Arr = array();
$Arr = ('JDF1','JDF2','UDF1','JDF3','UDF3');
我想知道所有JDFs
和UDFs
的具體位置。
比方說說JDFs
位於1st,2nd and 4th
的位置,UDFs
位於3rd and 5th
的位置。那麼我也應該得到匹配的值。
例子:
At 4th position I have JDF3 like that.
以下是我在php代碼中的要求。找到所有特定詞的位置
$Arr = array();
$Arr = ('JDF1','JDF2','UDF1','JDF3','UDF3');
我想知道所有JDFs
和UDFs
的具體位置。
比方說說JDFs
位於1st,2nd and 4th
的位置,UDFs
位於3rd and 5th
的位置。那麼我也應該得到匹配的值。
例子:
At 4th position I have JDF3 like that.
嘗試使用array_key_exists
和array_flip
等作爲
$Arr = ['JDF1','JDF2','UDF1','JDF3','UDF3'];
$find = 'JDF3';
$search = array_flip($Arr);
echo array_key_exists($find,$search) ? "The $find is at ".($search[$find] + 1)." position" : "We can't find $find within your table";
輸出:
The JDF3 is at 4 position
預警:如果有任何重複的值,此解決方案將只採取第一個事件,並刪除其餘的。 – chrisShick
是的,可以是這種情況。 @chrisShick。然而,OP沒有具體說明這種情況 –
你需要像這樣選擇搜索參數使用array_keys功能。
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
有關詳細信息,請參閱本,http://php.net/manual/en/function.array-keys.php
嘗試使用foreach
爲
<?php
$Arr = ('JDF1','JDF2','UDF1','JDF3','UDF3');
//initialization ;)
$i = 0;
foreach ($Arr as $key) {
$i ++;
echo "At position {$i} I have Key {$key}.<br />";
}
?>
你的意思JDF1和JDF2會給你喜歡的位置是JDF1 1點的位置? –