[英]array_key_exists not working as expected
我在使用PHP函數array_key_exists
遇到麻煩。 即使我的數組具有鍵,該函數也始終返回false。 我想知道使用動態增長的數組是否存在問題。 我是PHP的新手,很抱歉,如果這個問題很煩人。
如果數組具有鍵,我需要array_key_exists
函數返回true。
我嘗試使用isset(CounterArray[$key])
代替,但沒有成功。
我已經閱讀了有關特定功能的PHP文檔,並且還檢查了關於堆棧溢出的類似問題,但是沒有一個適合我的情況。 我為此花了大量時間可恥。
$values=[
"a"=>100,
"a"=>100,
"a"=>100,
"b"=>200,
];
$counterArray = array();
foreach ($values as $key => $price) {
if(!array_key_exists( $key , $counterArray))){
$counterArray[$key]=$price;
}else{
$counterArray[$key] += $price;
}
}
您的$values
數組包含相同鍵'a'
重復項,它將被忽略。 因此, $counter_array
最終將包含$values
的精確副本。
聽起來$values
應該是一個數組數組,例如:
$values = [
["a"=>100],
["a"=>100],
["a"=>100],
["b"=>200],
];
當然,您的循環將必須進行相應的更改:
foreach ($values as $a) {
list( $key, $price ) = $a;
// ...
這是因為您的實際數組在內部就像array(2){[“” a“] => int(100)[” b“] => int(200)當執行var_dump($ values)時,您將得到上面的輸出; 在你的代碼中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.