PHP 检查数组中的 double 并删除最后一个
PHP Check for double in array and delete last one
过滤数组时遇到问题!
我想按 'model' 名称过滤,然后删除最后一个是双精度的。
在图像上link你可以看到数组结构。
第一张图片:
在第二张图片中,您可以看到我不想过滤的双精度值。
第二张图片:
我该怎么做?
这是慢的答案:
鉴于您所有的产品都在 $arrData 中,并且键是连续的
foreach($arrData as $key=>$record) {
for($i=$key+1; $i < count($arrData); $i++) {
if(isset($arrData[$i]) && $record['model'] == $arrData[$i]['model']) {
unset($arrData[$i]);
}
}
}
希望我理解了你的问题。
<?php
$models = [];
// Loop through data
foreach ($records as $key => $value) {
$model = $value['model'];
// If it already exists in the array
if (isset($models["{$model}"])) {
unset($records["{$key}"]);
}
$models["{$model}"] = $model;
}
?>
过滤数组时遇到问题!
我想按 'model' 名称过滤,然后删除最后一个是双精度的。
在图像上link你可以看到数组结构。
第一张图片:
在第二张图片中,您可以看到我不想过滤的双精度值。
第二张图片:
我该怎么做?
这是慢的答案: 鉴于您所有的产品都在 $arrData 中,并且键是连续的
foreach($arrData as $key=>$record) {
for($i=$key+1; $i < count($arrData); $i++) {
if(isset($arrData[$i]) && $record['model'] == $arrData[$i]['model']) {
unset($arrData[$i]);
}
}
}
希望我理解了你的问题。
<?php
$models = [];
// Loop through data
foreach ($records as $key => $value) {
$model = $value['model'];
// If it already exists in the array
if (isset($models["{$model}"])) {
unset($records["{$key}"]);
}
$models["{$model}"] = $model;
}
?>