PHP () fonksiyonu sorunu patlayabilir

3 Cevap

Bu patlayabilir () fonksiyonu konuda bana yardımcı olun. Ben üçüncü senaryo için beklenmeyen sonuçlar alıyorum, açıklama nedir?

EDIT: değeri $ page_string veritabanından aslında. Bu sefer yerine yankının var_dump kullanarak testler yaptım. Dizeleri, nasıl php onları saymak mı? Nasıl "15 & sayfa 11" saymak mı?

var_dump($page_string);//string(11) "15&page"

1. ince ... işareti dışarı Pop.

    $page_id_array = explode("&",$page_string);
    $page_id = $page_id_array[0]; 
    var_dump($page_id); 
    // string(2) "15"

2. sayısını Pop fine ...

    $page_id_array = explode("15",$page_string);
    $page_id = $page_id_array[1]; 
    var_dump($page_id); 
    //string(9) "&blog"

3. Çık '& sayfa' ... neden?

     $page_id_array = explode("&page",$page_string);
     $page_id = $page_id_array[0]; 
     var_dump($page_id); 
     //string(11) "15&page"
     var_dump($page_id_array[1]);
     //NULL

EDIT: jasonbar gelen cevap ve yorumlar sonra ben onun cevabını teyit testi yaptım:

     $page_id_array = explode("&page",$page_string);
     $page_id = $page_id_array[0]; 
     var_dump($page_id); 
     //string(2) "15"

3 Cevap

Benim comment olası bir açıklama gibi görünüyor düşünüyorum. Ben test dizge olarak "15 & sayfa" kullanarak kodunuzu denedim ve düzgün sınırlayıcı olarak kullanarak '& sayfa' patlar.

Emin olun ve aslında & olarak kodlanmış değildir

Bunu görmek için) (geri patlayabilir dan olsun dizi print_r'ing deneyebilirsiniz thats gerçekten durum eğer. Sadece '&' patlayan zaman sayfa, siz 15 amp ile sona erecekti öyleyse.

Ben PHP5 ile aşağıdaki çalıştırmak. Tam bir komut verebilir misiniz? PHP hangi sürümü yayınlanıyor?

$page_string = "15&page";

$page_id_array = explode("&",$page_string);
var_dump($page_id_array);
// array has 2 values, 15 and page
$page_id = $page_id_array[0]; 
echo '<br/>'.$page_id.'<br/>'; 

$page_id_array = explode("15",$page_string);
var_dump($page_id_array);
// array has 2 values, <empty> and &page
$page_id = $page_id_array[0]; 
echo '<br/>'.$page_id.'<br/>'; 

$page_id_array = explode("&page",$page_string);
var_dump($page_id_array);
// array has 2 values, 15 and <empty>
$page_id = $page_id_array[0]; 
echo '<br/>'.$page_id.'<br/>'; 

Ayrıca benim için geçti son senaryo, anomaliyi neden sizin dize ilgili bir şey var.