foreach 루프에서 in_array()를 사용하는 데 문제가 있습니다. 이것이 가능한지 또는 더 나은 방법이있는 곳에서 우스꽝스러운 일을하고 있는지 확실하지 않습니다. 내가하고 싶은 일은 모든 항목을 살펴보고 해당 항목 ID가 배열의 항목 ID와 일치하면 true를 반환하고 항목의 가격을 실행 합계에 추가합니다. $ 가격은 항목의 가격 ($ 0)가 무료라고하지 않는 한 그것이 사실이었다 물론 다음 이상의 0 인 경우 이후foreach 루프 내의 PHP in_array()
$price = 0;
$result = false;
$array = array(1533, 2343, 2333);
foreach($order['items'] as $item){
if(in_array($item['Item'], $array)){
$result = true;
$price += $item['Price'];
}
}
**UPDATED**
Here is the order array
[items] => Array
(
[0] => Array
(
[Item] => 139957
[OrderID] => 16025
[SizeID] => 24
[Price] => 46.00
)
[1] => Array
(
[Item] => 2343
[OrderID] => 16025
[SizeID] => 12
[Price] => 32.00
)
)
[data] => Array
(
)
표시된 3 행의 배열 사용을 확인하십시오. $ array = array (....);와 비교할 기본 배열은 무엇입니까? 그 모양은 어떻게됩니까? –
'$ order'의 정의를 보여주세요. – 3dgoo
코드가 정상적으로 보입니다. 정확히 무엇이 잘못 되었습니까? – ualinker