Bir dizideki ilk elemanın ama tüm alma belirtmek için bir yolu var mı? Ben genellikle benim diziler döngü foreach () kullanın.
array (1,2,3,4,5) demek, ben sadece 1 atlamak için 2, 3, 4, 5 ve göstermek isterim.
Bu sorunu yaklaşırken birden çok yolu vardır.
İlk çözüm ilk elemanını gösterir ve foreach
a> devam etmek için bir bayrak boolean kullanmak için
$firstElement = true;
foreach($array as $key => $val) {
if($firstElement) {
$firstElement = false;
} else {
echo "$key => $val\n";
}
}
0 tuşu olup olmadığını öğeleri doğal sayısal endeksli iseniz, Boole bayrağı gerekmez, sadece kontrol edebilirsiniz.
foreach($array as $key => $val) {
if($key === 0) continue;
echo "$key => $val\n";
}
İkinci yol zaten değilse doğal sayısal endeksli diziye yol hile olduğunu. I array_keys()
a> tuşları ve döngü bu bir doğal sayısal indisli bir dizi almak için kullanacağız.
$keys = array_keys($array);
foreach($keys as $index => $key) {
if($index === 0) continue;
$val = $array[$key];
echo "$key => $val\n";
}
Üçüncü yol kullanarak ilk öğeyi atlamak ve daha sonra bir döngü içinde devam dizi iç işaretçi kullanmak için reset()
, next()
, list()
{[(3)] } . Performance and resource-wise, this is the best option. Maintainability suffers greatly though.
reset($array); // Reset pointer to 0
next($array); // Advance pointer to 1
while (list($key, $val) = each($array)) {
echo "$key => $val\n";
}
Eğer dizi yapabilirsiniz array_shift()
a> bunun ilk elemanı kaybetme sakıncası yoksa.
array_shift($array);
foreach($array as $key => $val) {
echo "$key => $val\n";
}
Bu Ayrıca, array_slice()
the array. I'm also using count()
in order to be able to set the preserve_keys
parameter to true
.
$sliced = array_slice($array, 1, count($array)-1, true);
foreach($sliced as $key => $val) {
echo "$key => $val\n";
}
array_shift ()
http://us2.php.net/manual/en/function.array-shift.php
Sitede kullanılan örnek:
<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);
?>
Yukarıdaki örneğin çıktısı:
Array
(
[0] => banana
[1] => apple
[2] => raspberry
)
** Diziye işaretçi vardiyadan sonra reset (yeni değer) olduğunu unutmayın