導航:首頁 > 編程語言 > php語法

php語法

發布時間:2022-01-15 00:03:20

1. 如何查看php代碼語法錯誤

錯誤抑制符去掉錯誤信息,eval和echo一樣並不是函數,不能使用變數函數的方法調用比如:$func = 『eval』$func()這樣的調用就是無效的。它會提示沒有eval函數,如果你自己定義這么一個函數也是有問

錯誤抑制符去掉錯誤信息,eval和echo一樣並不是函數,不能使用變數函數的方法調用比如:
$func = 『eval』
$func()這樣的調用就是無效的。它會提示沒有eval函數,如果你自己定義這么一個函數也是有問題的。因為eval是一個關鍵字。
eval調用和include差不多,如果被包含文件中沒有明確return就返回null。如果直接eval我們需要檢查的文件會造成被檢查的文件內代碼被執行,這可不是我們想要的,我們只需要檢查一下這個文件的語法是否正確。 我們可以在要檢查的文件之前添加return 語句,讓代碼提前跳出,那麼後面的代碼就不會執行了。好的,就這么干。代碼如下:
< ?PHP
if(!function_exists('PHP_check_syntax')) {
function PHP_check_syntax($file_name,
&$error_message = null) {
$file_content = file_get_contents($file_name);
$check_code = "return true; ?>";
$file_content = $check_code .
$file_content . "< ?PHP ";
if(!@eval($file_content)) {
$error_message = "file: " .
realpath($file_name) . " have syntax error";
return false;
}
return true;
}
}
if(!PHP_check_syntax("file.PHP", $msg)) {
echo $msg;
}
else {
echo "Woohoo, OK!";
}
< ?PHP
foreach:: a => b
?>
因為Parse error 是沒法被 set_error_handler處理函數處理的。這個異常沒辦法catch到。所以才使用了@來抑制錯誤。這帶來的問題就是我們無法得到詳細的錯誤信息。 不過目前我需要的功能也只是檢查語法是否正確。不正確的話重新編譯模板文件,就這么簡單,至於語法錯誤,在顯示網頁的時候自然會看得到。
PHP檢查語法錯誤最好的辦法就是這個被遺棄的PHP_check_syntax這個方法回到PHP中。下次再研究下他們是出於什麼原因把這個函數去掉的。

2. PHP是什麼,它的基本語法是什麼

PHP 腳本主要用於以下三個領域:

服務端腳本。這是 PHP 最傳統,也是最主要的目標領域。開展這項工作需要具備以下三點:PHP 解析器(CGI 或者伺服器模塊)、web 伺服器和 web 瀏覽器。需要在運行 web 伺服器時,安裝並配置 PHP,然後,可以用 web 瀏覽器來訪問 PHP 程序的輸出,即瀏覽服務端的 PHP 頁面。如果只是實驗 PHP 編程,所有的這些都可以運行在自己家裡的電腦中。

命令行腳本。可以編寫一段 PHP 腳本,並且不需要任何伺服器或者瀏覽器來運行它。通過這種方式,僅僅只需要 PHP 解析器來執行。這種用法對於依賴 cron(Unix 或者 Linux 環境)或者 Task Scheler(Windows 環境)的日常運行的腳本來說是理想的選擇。這些腳本也可以用來處理簡單的文本。

編寫桌面應用程序。對於有著圖形界面的桌面應用程序來說,PHP 或許不是一種最好的語言,但是如果用戶非常精通 PHP,並且希望在客戶端應用程序中使用 PHP 的一些高級特性,可以利用 PHP-GTK 來編寫這些程序。用這種方法,還可以編寫跨平台的應用程序。PHP-GTK 是 PHP 的一個擴展,在通常發布的 PHP 包中並不包含。

那麼如何做第一個PHP頁面呢?

步驟如下:

先啟動web伺服器代碼如下:

sudo service apache2 start

在 web 伺服器根目錄(/var/www/html)下建立一個文件名為 hello.php

sudo gvim /var/www/html/hello.php

創建php新文件時,使用超級用戶許可權來創建,即sudo gvim test.php,這樣也省得後來修改文件許可權。否則文件無法寫入。然後完成如下內容:

3. php 中的:是什麼意思啊

PHP中「?:」指的是三目運算符。

三目運算符,也稱為條件運算符,它是計算機語言的重要組成部分。它是唯一具有3個操作數的運算符,因此有時稱為三元運算符。通常,三目運算元的組合是右邊界。

三目運算符提供了一種表達簡單if-else語句的簡便方法。運算符由以下格式的問號(?)和冒號(:)組成:表達式?表達式:表達式;一條語句稱為條件表達式,由3個子表達式組成,並使用問號?和冒號:分開。

條件表達式中問號之前的部分是要測試的條件。這就像if語句括弧中的表達式。如果條件為真,則執行?之間的語句。和:;否則,執行以下部分。如果您認為有幫助,可以在子表達式兩邊加上括弧

(3)php語法擴展閱讀:

<php>函數的操作規則

1、對於條件表達式b? x:y,首先計算條件b,然後判斷。如果b的值為true,則計算x的值,並且運算的結果為x的值;否則,計算出y的值,並且運算的結果是y的值。

2、條件表達式永遠不會同時計算x和y。條件運算符是右關聯的,即從右到左分組。例如,一個? b:c? d:e將被執行為? b:(c→d:e)。

3、可以理解為:條件?結果1:結果2,在裡面?該數字是格式要求。也可以理解為條件是否為真,條件成立為結果1,否則為結果2。

4. php語法報錯 為什麼他寫的可以我的就報錯

你的最後一句echo "發布成功"最後沒有加結束符就是分號,應該是這樣
echo "發布成功";
注意:寫php代碼的時候,寫完一句以後一定要在後面加結束符分號

5. PHP 中的語法錯誤

$webmpa = $_SERVER["PHP_SELF"]; //獲取當前執行腳本的文件名, 我的測試環境下值是/test/test.php

$webmpa = dirname($webmpa); //獲取文件的路徑部分, 我的測試環境下的值是/test

$webmpa = explode('/', $webmpa); //對路徑用"/"分割成數組, 我的測試環境下值是array(0 => '', 1 => 'test')

$wnum = count($webmpa) - 6; //這一步我不懂, 為什麼要獲得數組長度減6的值? 我的測試環境下的值是-4

//問題就出在這里, $i初值是1, 第一次循環的條件就不符合, 所以for裡面的代碼沒有執行過

for($i=1; $i<$wnum; $i++){
$webmp = $ i== 1? $webmpa[$i] : $webmp . '/' . $webmpa[$i];
}
$webml = 'http://'.$_SERVER['HTTP_HOST'].'/';

//這里用到了$webmp, 但是在我的測試環境下, for裡面沒有被執行過, 所以$webmp是不存在的, 程序報了一個警告$webmp未定義

$webwapurl = $webml . $webmp . '/' . 'upload/';

$baseUrl = $webwapurl;

6. PHP語言里{**}是什麼意思

這個應該是模板標簽,而不php語法
也許php可以自己寫代碼去解析,但不能說這個就是php語言
也就是說你發的和php沒有必然聯系。。。。

7. php中關於<php>的語法問題 。

因為2,3之間是屬於Html代碼,1-2,3-4之間是php代碼,所以需要隔開
<?php
?>之間是用來寫php代碼的

8. php中$符號是什麼意思

$這個符號的意思是:變數

PHP採用的是C語言的語法,但是也有一些區別。$符號加上字元串,這就是來一個變數源名或對象名。

MyClass是個類名,不用加$符號。$_val是個私有變數,一般是以$加下劃線加字元串組成的,foo和foo1是兩個成員函數。不用加$符號,$my是一個對象,必須加$符號。

(8)php語法擴展閱讀:

像C語言一樣,PHP中也有三目運算符「?:」。它的運行機制如下:(expr1)?(expr2):(expr3)

其中的Expr1、Expr2及Expr3均為表達式。當表達式Expr1為真時則執行後邊的Expr2,反之則執行Expr3。從分析中不難看出,三目運算符「?:」實際上也就是if…else的簡化版。

PHP賦值運算符PHP賦值運算符用於向變數寫值。PHP中基礎的賦值運算符是"="。這意味著右側賦值表達式會為左側運算數設置值。

網路-PHP運算符

9. 在php語法里=與==的區別是什麼

=是賦值,比如$a =1 ,是把1的值賦給$a。 ==是等於的意思,$a==1就是$a等於1。

10. PHP語法錯誤

這個是模板文件編譯後出現的語法錯誤,可以檢查模板文件有沒有寫法問題。

可以按提示的

D:phpStudyWWWMyRuntimeCacheHome.phpLINE:513

這個文件和行,對應找出模板文件出問題的地方,再檢查修復

閱讀全文

與php語法相關的資料

熱點內容
華為手機為什麼不升級安卓11 瀏覽:42
linuxrpm卸載jdk 瀏覽:860
mysql許可權設置命令 瀏覽:618
hexophp 瀏覽:271
用什麼app買東西半價 瀏覽:62
蘋果下載的pdf文件怎麼打開 瀏覽:211
如何在伺服器上隱藏源站地址 瀏覽:645
單片機進制字母對應表 瀏覽:528
向某人下命令 瀏覽:627
編程中刪除數組中的數 瀏覽:86
aes對稱加密反編譯 瀏覽:550
java編譯成exe 瀏覽:190
gps處理演算法 瀏覽:596
什麼app可以和對象存錢 瀏覽:146
java字元串表達式計算 瀏覽:330
javacmd環境變數 瀏覽:51
電視上面找不到全民歌app怎麼辦 瀏覽:156
單片機中psw0 瀏覽:994
優酷視頻加密么 瀏覽:763
本地連接dos命令 瀏覽:206