Başkalarının attılar ne aksine, size min()
/max()
functions for this problem as these functions do not understand the datastructure (array) which are passed in. These functions only work for scalar array elements. kullanamazsınız
BEGIN EDIT
The reason why the use of min()
and max()
seem to yield the correct answer is related to type-casting arrays to integers which is an undefined behaviour del>
The behaviour of converting to integer
is undefined for other types. Do not
rely on any observed behaviour, as it
can change without notice.
Tip-döküm hakkında benim yukarıdaki beyanı yanlış oldu. Aslında min()
and max()
a> diziler ile iş yapmak değil şekilde OP çalışması için onlara ihtiyacı var. Kullanırken min()
and max()
a> çoklu dizi veya diziler elemanları bir dizi ile soldan sağa doğru eleman eleman karşılaştırılır:
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)
/*
* first element compared to first element: 2 == 2
* second element compared to second element: 4 < 5
* first array is considered the min and is returned
*/
OP'ın sorun tercüme bu yüzden min()
and max()
seems to yield the correct result. The arrays' first elements are the id
değerlerinin doğrudan kullanımı, bu nedenle min()
{[(1 nedenini gösterir )]} will compare them first, incidentally resulting in the correct result because the lowest id
[(6)]} {düşük olan biridir ve [(7)]} {yüksek olan bir yüksek olan count
.
END EDIT
Doğru yolu bir döngü kullanmak olacaktır.
$a = array(
array('id' => 117, 'name' => 'Networking', 'count' => 16),
array('id' => 188, 'name' => 'FTP', 'count' => 23),
array('id' => 189, 'name' => 'Internet', 'count' => 48)
);
$min = PHP_INT_MAX;
$max = 0;
foreach ($a as $i) {
$min = min($min, $i['count']);
$max = max($max, $i['count']);
}