Rumah > Artikel > pembangunan bahagian belakang > Adakah php bahasa statik atau dinamik?
php ialah bahasa dinamik. PHP ialah bahasa skrip yang dinamik, ditaip lemah Ia menentukan jenis data pada masa jalan dan tidak perlu mengisytiharkannya terlebih dahulu sebelum menggunakan pembolehubah akan dibuat secara automatik apabila ia diberikan nilai untuk kali pertama jenis dalam PHP boleh diabaikan Apabila memberikan nilai kepada pembolehubah, tidak perlu mempertimbangkan jenisnya Pembolehubah hanya mempunyai jenis tertentu selepas ia diberikan nilai tertentu.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
php ialah bahasa dinamik .
php ialah bahasa skrip yang ditaip secara dinamik dan lemah; tidak perlu mengisytiharkannya terlebih dahulu sebelum menggunakan pembolehubah akan dibuat secara automatik apabila ia diberikan nilai untuk kali pertama. dan apabila memberikan nilai kepada pembolehubah, tidak perlu mengisytiharkannya terlebih dahulu Jenisnya perlu dipertimbangkan Pembolehubah hanya mempunyai jenis tertentu selepas ia diberikan nilai tertentu.
<?php $a = 1; $b = "2"; $c = [1,3,4]; var_dump($a); var_dump($b); var_dump($c); ?>
Oleh itu, penukaran jenis automatik akan berlaku apabila mengira pembolehubah.
Dalam PHP, penukaran jenis automatik biasanya berlaku apabila pembolehubah jenis berbeza dicampur untuk operasi Jika jenis pembolehubah yang terlibat dalam operasi adalah daripada jenis yang berbeza, ia perlu ditukar kepada jenis yang sama dahulu, dan kemudian operasi dijalankan.
Biasanya hanya empat jenis skalar (integer, float, string, boolean) dan NULL akan ditukar secara automatik semasa operasi. Ambil perhatian bahawa penukaran jenis automatik tidak mengubah jenis pembolehubah itu sendiri, hanya cara pembolehubah ini dinilai.
Walaupun penukaran jenis automatik dilengkapkan secara automatik oleh sistem, semasa operasi bercampur, penukaran jenis automatik juga perlu mengikut arah peningkatan panjang data untuk memastikan ketepatan tidak dikurangkan. Peraturan ditunjukkan di bawah.
Apabila nilai Boolean terlibat dalam operasi, TRUE akan ditukar kepada jenis integer 1 dan FALSE akan ditukar kepada jenis integer 0, dan kemudian mengambil bahagian dalam operasi.
Apabila nilai NULL terlibat dalam operasi, nilai NULL akan ditukar kepada jenis integer 0 sebelum operasi dilakukan.
Apabila terdapat nilai jenis integer dan jenis apungan yang terlibat dalam operasi, nilai jenis integer akan ditukar kepada jenis apungan dahulu dan kemudian operasi akan dilakukan.
Apabila nilai rentetan dan angka (integer, apungan) terlibat dalam operasi, jenis rentetan akan ditukar kepada nombor dahulu dan kemudian mengambil bahagian dalam operasi. Nombor yang ditukar ialah rentetan berangka bermula daripada rentetan Jika rentetan angka yang bermula daripada rentetan tidak mempunyai titik perpuluhan, ia akan ditukar kepada nilai jenis integer. Jika terdapat titik perpuluhan, ia ditukar kepada nilai jenis apungan Contohnya: rentetan "123ab" ditukar kepada integer 123, rentetan "123.45ab" ditukar kepada nombor titik terapung 123.45, dan rentetan ". abc" ditukar kepada integer 0.
【Contoh】Berikut ialah contoh mudah untuk menunjukkan penukaran jenis automatik dalam PHP.
<?php header('content-type:text/html;charset=utf-8'); $str = '100abc'; $str += 5; echo '此时 $str 的类型为:'.gettype($str).', 值为:'.$str.'<br>'; $str += 3.14; echo '此时 $str 的类型为:'.gettype($str).', 值为:'.$str.'<br>'; $str = null + 'C语言中文网'; echo '此时 $str 的类型为:'.gettype($str).', 值为:'.$str.'<br>'; ?>
Pengetahuan lanjutan: Pengenalan dan perbezaan antara bahasa dinamik dan bahasa statik
Bahasa dinamik (bahasa ditaip lemah) adalah Dalam bahasa di mana jenis data ditentukan pada masa jalan, pembolehubah tidak perlu diisytiharkan sebelum digunakan Biasanya nilai pembolehubah ialah jenis nilai yang ditetapkan. Seperti Php, Asp, JavaScript, Python, Perl, dll.
$a = 1; $b = "2"; $c = [1,3,4];
Bahasa statik (bahasa ditaip kuat) ialah bahasa di mana jenis data pembolehubah boleh ditentukan pada masa penyusunan Kebanyakan bahasa statik memerlukan bahawa jenis data mesti ditentukan sebelum menggunakan pembolehubah. Seperti Java, C, C, C#, dll.
String s="hello"; //String 类型的变量 boolean b=true; //boolean 类型的变量 int i=0; //int 类型的变量
Bahasa yang ditaip lemah ialah bahasa yang jenis data boleh diabaikan. Ia adalah bertentangan dengan bahasa yang ditaip kuat, di mana pembolehubah boleh diberikan nilai jenis data yang berbeza. Jenis pembolehubah ditentukan oleh konteksnya, yang lebih cekap.
Bahasa yang ditaip kuat ialah bahasa yang mesti menentukan jenis data secara paksa Setelah pembolehubah diberikan jenis data tertentu, ia akan sentiasa menjadi jenis data ini jika ia tidak dipaksa untuk menukar. Jenis pembolehubah ditentukan apabila ia diisytiharkan, yang lebih selamat.
Perbezaan:
Disebabkan pengisytiharan mandatori jenis data, bahasa statik membolehkan alat pembangunan (IDE) mempunyai keupayaan yang kuat untuk menilai kod dan melaksanakan logik perniagaan yang kompleks dan Apabila membangunkan sistem dan aplikasi komersial berskala besar dengan kitaran hayat yang panjang, pembangun boleh bergantung pada IDE yang berkuasa untuk membangunkan dengan lebih cekap dan selamat.
Pemikiran bahasa dinamik tidak dikekang dan boleh digunakan sesuka hati, lebih memfokuskan pada produk itu sendiri, dan proses pemikiran ialah proses pelaksanaan.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Adakah php bahasa statik atau dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!