어레이를 생성하지만 ISNT가 최소/최대 값을 출력하는 코드가 업데이트되었습니다. 왜이 방법이 효과가 없으며 최소/최대 값을 자동으로 제거한 다음 어레이를 다시 출력하려면 어떻게해야합니까?작성시 배열에서 최대/최소 자동 삭제
<?php
$url = 'https://www.googleapis.com/shopping/search/v1/public/products?key=thekey&country=US&q=nintendo+wii';
$data = curl_init($url);
curl_setopt($data, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($data, CURLOPT_HEADER, 0);
$product_result = curl_exec($data);
curl_close($data);
$arr = json_decode($product_result, true);
$prices = array();
echo "Original Values";
foreach ($arr['items'] as $item)
{
if (isset($item['product']['inventories'][0]['price']))
{
$prices[] = $item['product']['inventories'][0]['price'];
}
}
echo '<pre>';
print_r($prices);
echo '<br /><br />';
// Get the values
$min = $prices[$minIndex];
$max = $prices[$maxIndex];
// Find the values
$minIndex = array_search($min, $prices);
$maxIndex = array_search($max, $prices);
#print out results with no min/max pair
echo $prices[$min] . 'max is ' . $prices[$max];
echo '</pre>';
// Unset the values
unset($prices[$minIndex], $prices[$maxIndex]);
?>
최소/최대 값을 표시하지 않는 것 코드의
전류 출력 : unset
및 php.net에서 array_search
을 바탕으로
Original Values
Array
(
[0] => 149.99
[1] => 149.99
[2] => 149.99
[3] => 209.95
[4] => 124.99
[5] => 225.99
[6] => 149.96
[7] => 249.99
[8] => 193.99
[9] => 149.99
[10] => 149.99
[11] => 149.99
[12] => 326.99
[13] => 269.96
[14] => 258.99
[15] => 129.99
[16] => 149.99
[17] => 39.99
[18] => 149.99
[19] => 209.99
[20] => 349.95
[21] => 357.38
[22] => 169.96
[23] => 125
[24] => 149.99
)
max is
한 방법과 동일합니다 : 해제 ($ 가격이 [array_search ($의 MINVAL가)]); 해제 ($ 가격은 [($의 MAXVAL) array_search]) 나는이 설정되지 않은 방법을 보았지만 –
은 키 예를 보았다 php.net에. 어쨌든 다음 행을 실행하기 위해 배열을 재설정하십시오 :'echo "min is". $ minval. "
최대 값입니다." $ maxval. "
평균은"입니다. $ avgofval;' 여전히 orig max/min 쌍으로 초기 배열에서 계산 된 것으로 보입니다. –