信ID我有一個數組:PHP得到陣列
$arr = array(c,b,a);
而另一個數組:
$string = array(a,a,b);
怎麼做才能把它給我一個數組看起來像有:
$arr2 = array(2,2,1);
對不起,我的英語不好。
信ID我有一個數組:PHP得到陣列
$arr = array(c,b,a);
而另一個數組:
$string = array(a,a,b);
怎麼做才能把它給我一個數組看起來像有:
$arr2 = array(2,2,1);
對不起,我的英語不好。
使用array_search()
可以解決這個問題,但請記住array_search()
將返回如果不是,則爲FALSE找到陣列
$arr = array('c','b','a');
$string = array('a','a','b');
$new_arr = array();
foreach ($string as $value){
$index = array_search($value, $arr);
if ($index !== false) {
$new_arr[] = $index;
} else {
$new_arr[] = -1; // used -1 to indicate a NO FIND
}
}
print_r($new_arr);
結果
Array
(
[0] => 2
[1] => 2
[2] => 1
)
難道你可以使用array_keys()
foreach($string as $key => $value){
array_search($value, array_keys($arr));
}
PHP解析錯誤:語法錯誤,意外 ')',希望 '(' – Lowder
試試這個
<?php
$arr = array('c','b','a','d');
$string = array('a','a','b');
$op=array();
foreach($string as $value)
{
$op[]=array_search($value, $arr);
}
print_r($op)
?>
輸出 -
Array ([0] => 2 [1] => 2 [2] => 1)
PHP的警告:提供的foreach無效的參數() – Lowder
在值試試這個:
<?php
$arr = array('c','b','a');
$string = array('a','a','b');
$res = [];
foreach ($string as $arr_val){
$res[] = ((int)array_search($arr_val, $arr))+1;
}
print_r($res);
什麼具有u試過到目前爲止 –
這是什麼 - '3,3,2'? –
背後的邏輯是什麼? – motanelu