1 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
您遇到此問題的原因是您致電array_column:
array_column($results, 'gross','location_fees')
這會(huì)導(dǎo)致gross值被$results重新索引location_fees,對(duì)于您的數(shù)據(jù)來說,這會(huì)導(dǎo)致類似的結(jié)果
[3 => 'yes', 5 => 'no', 5 => 'yes']
正如您所看到的,您有兩個(gè)5無效的數(shù)字鍵,因此第二個(gè)數(shù)字鍵會(huì)覆蓋第一個(gè)數(shù)字鍵,最終得到
[3 => 'yes', 5 => 'yes']
而你失敗array_search了no,因此你沒有得到任何結(jié)果。在任何獲得復(fù)制值的地方都會(huì)遇到這個(gè)問題。
無論如何,我不確定你為什么要采取這種方法。看來你無論如何都有你想要的數(shù)字$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 關(guān)注
- 302 瀏覽
添加回答
舉報(bào)