2010-03-21 31 views
12

Sadece PHP yerleşik gettype() ve dönüş değeriyle çalışmaya başladım. Bu işlev, boolean, integer, unknown type, vb. Gibi test sonuçlarını döndürme yeteneğine sahiptir. Ancak, bu test sonuçları arasında, gözlerimden biri yakalandı: bilinmeyen tür.gettype ve bilinmeyen tür php

gettype() nolu telefonu okuduktan ve burada referans bulmaya çalıştıktan sonra, ben bulamıyorum.

Peki, soru, türün unknown type olarak kategorize edilebileceği bir şey midir? Mümkün mü, yoksa bir şeyleri okumuyor muyum?

cevap

19

İşte size bir bilinmeyen türüdür. Başka bir örnek GD'S imagecreate/imagedestroy ile olurdu.

Not: PHP 7.2'den itibaren, bu artık geçerli değil. gettype, resource (closed)'a geri dönecektir.

+1

Vay, PHP. "Kapalı" dosya kaynağının çıkarılması hala "Resource id #x" yazısını gösterir, ancak bu tür aniden bilinmemektedir. +1 Güzel cevap, – lamas

+0

teşekkürler, bu harika bir cevap. D – justjoe

+2

Bir başka eğlenceli gerçek. gettype, uygulanma biçiminden dolayı kapanmalar için "object" değerini döndürür. –

5

PHP kaynak koduna göre, bu işlevin anahtar deyimindeki "varsayılan" durumdur. Tahminimce, dahili bir hatayla uğraşmanın bir yolu var. Bir resource pointer kapatıldığında

$f = fopen('somefile.txt','r'); 
echo gettype($f); // resource 
fclose($f); 
echo gettype($f); // unknown 

Temelde, kolu tutarak değişken bir bilinmeyen kaynağa işaret edecektir:

+1

PHP, gözlerime biraz daha dağınık geldi. Kaynak kod ile kontrol için – lamas

+1

+1. Düşürme tamamen bence haklı değil. – Gordon

İlgili konular