Memahami "Nilai angka yang tidak terbentuk dengan baik ditemui" dalam PHP
Apabila cuba mengesahkan tarikh yang diluluskan daripada borang, anda mungkin menghadapi ralat "Nilai angka yang tidak terbentuk dengan baik ditemui." Ralat ini menunjukkan bahawa anda cuba menggunakan nilai yang bukan nombor yang dibentuk dengan baik.
Dalam kes khusus anda, anda mendapat ralat ini semasa cuba menggunakan fungsi date() dengan parameter GET mewakili tarikh mula. Isu timbul kerana parameter ini dihantar sebagai rentetan dalam format "2020-10-10" atau "2020/10/10", yang bukan nilai angka yang sah untuk fungsi date().
Menyelesaikan Isu
Untuk menyelesaikan isu ini, anda perlu menukar parameter tarikh kepada nilai angka sebelum menghantarnya kepada fungsi date(). Anda boleh menggunakan fungsi strtotime() untuk menukar perwakilan tarikh rentetan kepada beberapa saat. Berikut ialah kod yang diperbetulkan:
date("d", strtotime($_GET['start_date']));
Pertimbangan Tambahan
Adalah penting untuk memahami punca jenis ralat ini. Setiap kali anda menghadapi ralat sedemikian, anda harus terlebih dahulu menyiasat nilai masalah menggunakan var_dump(). Ini akan membantu anda menentukan perkara berikut:
Jangan sekali-kali menggunakan secara membabi buta menghantar nilai masalah kepada nombor, kerana ini akan menyembunyikan masalah sebenar dan berpotensi membawa kepada keputusan yang salah.
Atas ialah kandungan terperinci Mengapakah saya mendapat ralat 'Nilai angka yang tidak terbentuk dengan baik' apabila menggunakan fungsi `date()` PHP dengan parameter GET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!