PHP dizi özyineleme bir hata atmak gerekmez mi?

3 Cevap php

Bu benim olsun testi ve yanıttır. Ben bu sorunlu olabileceğini düşünüyorum ve bir hata veya bir uyarı atmak gerekir ama tolere neden ben anlayamıyorum.

<?php
    $test = array( 0 => 'test', 1=> &$test );
    var_dump( $test );

    // array(2) { [0]=> string(4) "test" [1]=> &array(2) { [0]=> string(4) "test" [1]=> &array(2) { [0]=> string(4) "test" [1]=> *RECURSION* } } }
?>

3 Cevap

Böyle bir döngü tespit önemsiz olmayan olduğunu tahmin ediyorum, ve davranış yanlış ise zamanında hemen belli olurdu.

Neden sorunlu? PHP bir dizi ardışık çağrıldığını olduğunu belirlemek için yeterince akıllı.

Eğer print_r($GLOBALS), ben bu hiçbir zarar görürseniz aynı olur.

Hiçbir gerçek özyineleme, hiçbir döngü vardır, bu yüzden yani, bir işaretçi bir başvuru ayarlayarak ediyoruz. Yani hayır, bu bir hata atmak gerekir.