- Ben dört POST değişkenleri, ancak ikinci bir gönderirseniz Ben name=""
etiketi olacağını bilmiyorum; Ben nasıl erişebilir? I $_POST[1]
ya da kullanabilir miyim?
İşte iç işaretçileri kullanarak bir çözüm var:
if(count($_POST) > 1){ // just a check here.
reset($_POST); // reset the pointer regardless of its position
$second_value = next($_POST); // get the next value, aka 2nd element.
}
Sayısal dizin getirmedi arada: PHP $ _POST ve $ _GET ilişkilendirilebilir diziler vardır! Onlar $_POST[0]
veya $_POST[1]
gibi bir şey desteklemez. Onlar ayarlı değil çünkü null dönecektir. Bunun yerine $_POST["name"]
çalışacak.
PHP Manual: ". Bir associative array, HTTP POST (veya GET) yöntemiyle geçerli komut geçirilen değişken"
Bunun üzerinden döngü yapabilirsiniz:
foreach ($_POST as $k => $v) {
if (substr($k, 0, 3) == 'id_') {
// do stuff
}
}
Ama gerçekten arama için kriterler ne bağlıdır. Yukarıdaki örnekte "id_" ile başlayan tüm POST değişkenleri çekiyor. Eğer farklı / daha iyi kriterleri varsa bunu basit yapmak mümkün olabilir.
You can Eğer array_values() İlk kullanarak dönüştürmek ise.
Example
<?php
$a = array(
"first key" => "first value",
"second key" => "second value",
);
$v = array_values($a);
echo "First value: {$v[0]}\n";
?>
Output
$ php -f a.php
First value: first value
EDIT: ilk hata işaret yorumcu için teşekkürler.