【发布时间】:2025-12-28 16:45:11
【问题描述】:
我有一个数组,如果它们匹配条件语句,我想对记录进行切片;我想保留原始索引值,这就是为什么我尝试切片而不是推送索引值从 0 开始的新数组。
$array = Array(
[item1] => Array
(
[sale] => 29.92
[onhand] => 0
[date] => 2019-09-16
)
[item2] => Array
(
[sale] => 0
[onhand] => 0
[date] => 2019-09-16
)
[item3] => Array
(
[sale] => 0
[onhand] => 230
[date] => 2019-09-16
)
)
我的条件:
foreach($items as $item){
if( $item['sale'] == 0 && $item['onhand'] == 0) {
array_slice($array, $item);
}
}
期望的输出:
$array = Array(
[item1] => Array
(
[sale] => 29.92
[onhand] => 0
[date] => 2019-09-16
)
[item3] => Array
(
[sale] => 0
[onhand] => 230
[date] => 2019-09-16
)
)
上面没有切片,我不确定切片是否适合这里的工具,或者我是否需要额外的映射?
我的另一个想法是将所需的项目推送到一个新数组,但这会将索引从[item1[], item2[], item3[]] 写入[0[], 1[], 2[]],我非常需要它们保持原始状态。
非常感谢您的指导!
【问题讨论】: