iT邦幫忙

0

PHP 哪裡有錯 ?

php

我這是抄網路上的範例 , 他執行可以 , 我怎麼不行
網路上的
https://ithelp.ithome.com.tw/upload/images/20180919/20104326uPf88z97N2.png

我執行的
https://ithelp.ithome.com.tw/upload/images/20180919/20104326Mwlk228RLl.png

https://ithelp.ithome.com.tw/upload/images/20180920/20104326IiovUYg3OV.png

https://ithelp.ithome.com.tw/upload/images/20180920/20104326cHpK8KnFD9.png

<?php
$subject="今天的天氣真是好";
$pattern="天氣";
if (preg_match("/\天氣/i", $subject)){
 echo "match";
}else {
 echo "not match";
}
?>
看更多先前的討論...收起先前的討論...
ccutmis iT邦研究生 5 級 ‧ 2018-09-20 08:25:29 檢舉
on line 5.
KUI iT邦新手 5 級 ‧ 2018-09-20 09:03:39 檢舉
你可以直接把字串貼上嗎??
因為我試是可以的
為何要將他換行??
可以好奇問問 你的文件編碼是哪一種格式嗎??
louischou iT邦新手 4 級 ‧ 2018-09-20 09:47:06 檢舉
和上面說的差不多了,大概兩種可能:1. 因為是複製貼上範例,可能雙引號不是雙引號。2. 因為是notepad,檔案儲存自動是ANSI,所以XAMPP想用UTF8讀取中文就會變成亂碼
alex9453 iT邦新手 3 級 ‧ 2018-09-20 10:13:15 檢舉
我是直接貼上 , 沒有換行 , 是因為分左右畫面才縮排 , 是雙引號也是 UTF8
alex9453 iT邦新手 3 級 ‧ 2018-09-20 10:15:16 檢舉
雙引號及 UTF8 畫面又在補上
asys0512 iT邦新手 1 級 ‧ 2018-09-20 10:23:58 檢舉
建議可以換成 atom
wingkawa iT邦新手 4 級 ‧ 2018-09-20 10:30:45 檢舉
你可以直接貼code嗎?
我在你上一篇的回答有留言教你怎麼貼了
alex9453 iT邦新手 3 級 ‧ 2018-09-20 10:33:37 檢舉
貼上了
youarefat iT邦新手 5 級 ‧ 2018-09-20 10:34:56 檢舉
自己手動打一遍試試看吧
大概preg_match的參數有某個符號不是你以為的那個
跑得快 iT邦新手 5 級 ‧ 2018-09-20 10:47:50 檢舉
建議使用範例,瞭解要練習的原因後可將中文改成英文隨便,全英文可減少編碼錯誤的可能,省得還要一步一步偵錯
alex9453 iT邦新手 3 級 ‧ 2018-09-20 11:38:23 檢舉
原因是 echo前面的空格
複製貼上的是全形空白,也難怪會報錯啦

1 個回答

2
wingkawa
iT邦新手 4 級 ‧ 2018-09-20 10:39:06
最佳解答

找到原因啦

這是你複製貼上的code

<?php
$subject="今天的天氣真是好";
$pattern="天氣";
if (preg_match("/\天氣/i", $subject)){
 echo "match";
}else {
 echo "not match";
}
?>

這是正確的code

<?php
$subject="今天的天氣真是好";
$pattern="天氣";
if (preg_match("/\天氣/i", $subject)){
  echo "match";
}else {
  echo "not match";
}
?>

差在哪?
差在兩個echo前面的空格
複製貼上的是全形空白,也難怪會報錯啦。

看更多先前的回應...收起先前的回應...
Homura iT邦研究生 4 級 ‧ 2018-09-20 10:44:31 檢舉

入門常遇到的問題@@

alex9453 iT邦新手 3 級 ‧ 2018-09-20 10:47:04 檢舉

謝謝 ! 是全形空白造成 , 以後複製貼上都會有全形空白的問題產生 , 都要重打嗎 ?

wingkawa iT邦新手 4 級 ‧ 2018-09-20 10:51:29 檢舉

複製貼上除了空白要注意半形全形,引號也要注意,有些網站還會在中間加料,這只能自己多注意了。
空白的話有些IDE可以幫你顯示成一個半透明的圓點,讓你一眼就看出來那邊的空白是真的還假的。

原來是這麼低級的錯誤呀 這次初心者才會犯的錯誤吧

alex9453 iT邦新手 3 級 ‧ 2018-09-20 10:58:37 檢舉

請問那個IDE有這個功能

wingkawa iT邦新手 4 級 ‧ 2018-09-20 11:04:10 檢舉

基本上現代的編輯器都有吧
附圖是我的sublime設定
https://ithelp.ithome.com.tw/upload/images/20180920/20109426nUw9UkeUoq.png

wingkawa 缺家教學生嗎?? 相信alex9453 大大應該有興趣找你教他PHP的!!

alex9453 iT邦新手 3 級 ‧ 2018-09-20 11:20:44 檢舉

wingkawa 怎麼notepad 就沒有 , 他不是也很多人用 , 竹本立里 我沒那麼多錢請家教 , 還是網路上慢慢學

wingkawa iT邦新手 4 級 ‧ 2018-09-20 11:28:01 檢舉

竹本立里 我不會教RRRR
alex9453 notepad++有啊,檢視那邊找找
google下的關鍵字是notepad whitespace show

alex9453 iT邦新手 3 級 ‧ 2018-09-20 11:35:32 檢舉

wingkawa 是這樣嗎 ? 怎麼沒看到 echo 前面有錯

https://ithelp.ithome.com.tw/upload/images/20180920/20104326setJBbKYyc.png

https://ithelp.ithome.com.tw/upload/images/20180920/20104326AD1r4dvLGr.png

alex9453 iT邦新手 3 級 ‧ 2018-09-20 11:41:40 檢舉

了解 , echo 前面沒有紅點 , 就是錯誤 . 謝謝

wingkawa iT邦新手 4 級 ‧ 2018-09-20 11:41:51 檢舉

對對

如果echo 前面是TAB 呢?? 程式會出錯嗎?

跑得快 iT邦新手 5 級 ‧ 2018-09-20 16:12:16 檢舉

複製貼上能練到甚麼嗎...
所以上面才有人請樓主手打重新排過一遍就能知道錯誤在哪

alex9453 iT邦新手 3 級 ‧ 2018-09-22 07:24:16 檢舉

我這是測試看看 , 要寫程式當然是要用手打

我要發表回答

立即登入回答