这是我的数组:
Array
(
[0] => Array
(
[entity_id] => 1
[value] => new
[label] => New
)
[1] => Array
(
[entity_id] => 3
[value] => pending_payment
[label] => Pending Payment
)
[2] => Array
(
[entity_id] => 4
[value] => pending_paypal
[label] => Pending Paypal
)
[3] => Array
(
[entity_id] => 5
[value] => processing
[label] => Processing
)
[4] => Array
(
[entity_id] => 6
[value] => complete
[label] => Complete
)
[5] => Array
(
[entity_id] => 7
[value] => canceled
[label] => Canceled
)
[6] => Array
(
[entity_id] => 8
[value] => closed
[label] => Closed
)
[7] => Array
(
[entity_id] => 9
[value] => holded
[label] => Holded
)
[8] => Array
(
[entity_id] => 10
[value] => payment_review
[label] => Payment Review
)
[9] => Array
(
[entity_id] => 11
[value] => new
[label] => New
)
[10] => Array
(
[entity_id] => 13
[value] => pending_payment
[label] => Pending Payment
)
UPDATE这是print_r的结果。可以看到,数组[0]与数组[6]是相同的。还有数组[7]和数组[1]。我怎样才能摆脱其中一个呢?thx
我试过这样做:
$input = $my_array
$temp = $input;
foreach ( $temp as &$data ) {
unset($data['id']);
}
$output = array_intersect_key($input, array_unique($temp));
但是没有任何结果:
$result = array();
foreach ($myArray as $array) {
if (isset($result[$array['value']])) {
continue;
}
$result[$array['value']] = $array;
}
print_r($result);
嘿,阿提拉,这应该有帮助。在本例中,您的$my_array
被重命名为$wholeArray
。我想比较一下标签就足够了:
$index=0;
$length = count($wholeArray);
foreach($wholeArray as $arrayElement){
$temp = $arrayElement['label'];
$index++;
for($i = $index; $i < $length; $i++){
if($wholeArray[$i]['label'] == $temp){
unset($wholeArray[$i]);
$length --;
}
}
}
如果您对代码有任何疑问,请随时提问:)