1 回答

TA貢獻1804條經驗 獲得超2個贊
您遇到此問題的原因是您致電array_column:
array_column($results, 'gross','location_fees')
這會導致gross值被$results重新索引location_fees,對于您的數據來說,這會導致類似的結果
[3 => 'yes', 5 => 'no', 5 => 'yes']
正如您所看到的,您有兩個5無效的數字鍵,因此第二個數字鍵會覆蓋第一個數字鍵,最終得到
[3 => 'yes', 5 => 'yes']
而你失敗array_search了no,因此你沒有得到任何結果。在任何獲得復制值的地方都會遇到這個問題。
無論如何,我不確定你為什么要采取這種方法。看來你無論如何都有你想要的數字$v:
$search = ['gross' => 'yes'];
foreach ($results as $k => $v) {
echo "key $k<br>" . PHP_EOL;
if ($v['gross'] == $search['gross'] ) {
$location_fees = $v['location_fees'];
echo "The location fees: ". $location_fees ." % <br><br>" . PHP_EOL;
$gross_percentage = $v['gross_percentage'];
echo "The gross_percentage is: ".$gross_percentage ."% <br><br>" . PHP_EOL;
} else {
$tran_perc = $v['transaction_percentage'];
echo "The locations percentage is: ".$tran_perc ." % <br>" . PHP_EOL;
$the_loc = $v['location'];
echo "The location is: ".$the_loc ." <br>" . PHP_EOL;
$location_fees = $v['location_fees'];
echo "The location fees: ". $location_fees ." % <br><br>" . PHP_EOL;
}
}
輸出:
key 0<br>
The location fees: 3 % <br><br>
The gross_percentage is: 25% <br><br>
key 1<br>
The locations percentage is: 24 % <br>
The location is: 5 <br>
The location fees: 5 % <br><br>
key 2<br>
The location fees: 5 % <br><br>
The gross_percentage is: 10% <br><br>
- 1 回答
- 0 關注
- 289 瀏覽
添加回答
舉報