Apabila anda menggunakan fungsi preg_match() PHP, anda mungkin menghadapi ralat "Argumen tidak sah dibekalkan untuk preg_match()". Ralat ini bermakna anda tidak memberikan parameter kepada fungsi preg_match() dengan betul. Dalam artikel ini, kami akan mengetahui lebih lanjut tentang ralat ini dan cara membetulkannya.
Dalam aplikasi PHP, anda mungkin menggunakan fungsi preg_match() untuk mencari dan memadankan ungkapan biasa. Walau bagaimanapun, jika anda tidak membekalkan argumen dengan betul seperti yang dijangkakan oleh fungsi preg_match(), anda akan menemui mesej ralat berikut:
Amaran PHP: Argumen tidak sah dibekalkan untuk preg_match()
Ini Maksudnya, anda tidak memberikan parameter kepada fungsi preg_match() dengan betul. Khususnya, anda akan menghadapi ralat ini jika anda tidak memberikan parameter regex yang betul.
Selain itu, ralat ini juga akan berlaku apabila parameter kedua fungsi preg_match() bukan rentetan.
Sebelum menyelesaikan ralat ini, anda perlu mengetahui parameter yang betul yang diperlukan oleh fungsi preg_match(). Fungsi preg_match() memerlukan dua parameter:
Berikut adalah beberapa isu biasa dan penyelesaian yang boleh menyebabkan ralat "Argumen tidak sah dibekalkan untuk preg_match()":
Jika anda tidak Menyediakan ungkapan biasa argumen kepada fungsi preg_match() dan anda akan melihat ralat "Argumen tidak sah dibekalkan untuk preg_match()".
Sebagai contoh, jika anda menggunakan kod berikut:
$string = "Hello, world!";
preg_match($string);
Menjalankan kod akan mengakibatkan Ralat berikut: Amaran PHP: Argumen tidak sah dibekalkan untuk preg_match()
Untuk menyelesaikan masalah ini, anda perlu menyediakan ungkapan biasa kepada fungsi preg_match() seperti berikut:
$string = "Hello , world!";
preg_match("/Hello/", $string);
Kod di atas akan mencari rentetan "Hello" dalam pembolehubah $string. Di sini, ungkapan biasa ialah "/Hello/".
Apabila parameter kedua fungsi preg_match() bukan rentetan, "Argumen tidak sah dibekalkan untuk preg_match()" akan muncul "kesilapan.
Contohnya, jika anda menggunakan kod berikut:
$string = 123;
preg_match("/[0-9]+/", $string);
Menjalankan kod menyebabkan ralat berikut: Amaran PHP: Argumen tidak sah dibekalkan untuk preg_match()
Untuk membetulkannya, anda perlu memastikan argumen kedua kepada fungsi preg_match() ialah rentetan. Jika anda sedang mencari nombor, anda harus menukarnya kepada rentetan seperti ini:
$string = "123";
preg_match("/[0-9]+/", $string) ;
Kod di atas akan mencari nombor dalam pembolehubah $string. Di sini, ungkapan biasa ialah "/[0-9]+/".
Jika anda telah menyediakan ungkapan biasa dan rentetan untuk dicari dengan betul tetapi masih melihat ralat "Argumen tidak sah dibekalkan untuk preg_match()", sila pastikan:
Dalam aplikasi PHP, anda mungkin menggunakan fungsi preg_match() untuk mencari dan memadankan ungkapan biasa. Anda mungkin menghadapi ralat "Argumen tidak sah dibekalkan untuk preg_match()" apabila anda tidak membekalkan argumen kepada fungsi preg_match() dengan betul. Untuk menyelesaikan masalah ini, anda perlu memastikan bahawa anda menyediakan ungkapan biasa dan rentetan untuk mencari dalam dengan betul, dan tiada ralat sintaks atau ruang tidak sah.
Atas ialah kandungan terperinci Penyelesaian kepada Amaran PHP: Argumen tidak sah dibekalkan untuk preg_match(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!