Amaran PHP: date() menjangkakan parameter 2 panjang, penyelesaian diberikan rentetan

PHPz
Lepaskan: 2023-06-22 20:04:02
asal
2046 orang telah melayarinya

Apabila membangun menggunakan program PHP, anda sering menghadapi beberapa mesej amaran atau ralat. Antaranya, satu mesej ralat yang mungkin muncul ialah: Amaran PHP: date() menjangkakan parameter 2 panjang, rentetan diberikan.

Mesej ralat ini bermaksud: parameter kedua bagi tarikh fungsi() dijangka menjadi integer panjang (panjang), tetapi yang sebenarnya dihantar kepadanya ialah rentetan (rentetan). Jadi, bagaimana kita harus menyelesaikan masalah ini? Di bawah, kami akan memperkenalkan beberapa penyelesaian yang mungkin.

1. Sahkan sama ada jenis parameter yang diluluskan adalah betul

Apabila menggunakan fungsi date(), parameter kedua biasanya digunakan untuk mewakili cap waktu. Cap masa ialah cara untuk mewakili masa dalam bentuk integer, biasanya diperoleh menggunakan fungsi time(). Oleh itu, pertama sekali kita perlu mengesahkan sama ada parameter kedua sememangnya cap waktu integer panjang apabila memanggil fungsi date().

Sebagai contoh, dalam contoh kod berikut, parameter kedua bagi fungsi date() ialah rentetan, jadi mesej ralat di atas akan muncul.

$dateStr = "2022-01-01";
echo date("Y年m月d日",$dateStr);
//输出:PHP Warning: date() expects parameter 2 to be long, string given
Salin selepas log masuk

Jika anda perlu menukar masa dalam bentuk rentetan kepada cap masa, anda boleh menggunakan fungsi strtotime() untuk mencapai ini. Contohnya:

$dateStr = "2022-01-01";
$date = strtotime($dateStr);
echo date("Y年m月d日",$date);
//输出:2022年01月01日
Salin selepas log masuk

2 Periksa sama ada parameter adalah NULL

Jika parameter kedua ialah NULL apabila memanggil fungsi date(), ralat di atas akan berlaku. Oleh itu, apabila menggunakan fungsi date(), anda harus menyemak sama ada parameter kedua ialah NULL, sebagai contoh:

$date = null;
echo date("Y年m月d日",$date);
//输出:PHP Warning: date() expects parameter 2 to be long, string given
Salin selepas log masuk

Anda boleh menukar kod di atas kepada:

$date = time();
echo date("Y年m月d日",$date);
//输出:当前时间的年月日格式
Salin selepas log masuk

3. Semak sama ada parameter ialah Rentetan berangka

Apabila menggunakan fungsi date(), jika parameter kedua ialah rentetan jenis integer, mesej ralat di atas juga akan muncul. Oleh itu, apabila menggunakan fungsi date(), anda harus menukar parameter kepada jenis angka, seperti:

$dateStr = "1640995200";
$date = intval($dateStr);
echo date("Y年m月d日",$date);
//输出:2022年01月01日
Salin selepas log masuk

atau terus menggunakan operator penukaran jenis untuk penukaran, seperti:

$dateStr = "1640995200";
$date = (int)$dateStr;
echo date("Y年m月d日",$date);
//输出:2022年01月01日
Salin selepas log masuk

Secara ringkasnya Seperti yang dinyatakan di atas, apabila mesej ralat PHP Amaran: date() menjangkakan parameter 2 menjadi panjang, rentetan yang diberikan muncul, kita boleh menyelesaikan masalah ini dengan menyemak jenis parameter yang diluluskan, menentukan sama ada parameter itu NULL, atau melakukan penukaran jenis. Apabila ralat ini berlaku, jangan panik, pilih sahaja penyelesaian yang sesuai mengikut situasi tertentu.

Atas ialah kandungan terperinci Amaran PHP: date() menjangkakan parameter 2 panjang, penyelesaian diberikan rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan