目錄
1. DIRECTORY_SEPARATOR 與 PATH_SEPARATOR" >1. DIRECTORY_SEPARATOR 與 PATH_SEPARATOR
2.set_include_path 與 get_include_path " >2.set_include_path 與 get_include_path
func_num_args 與 func_get_arg 與  func_get_args" >4.func_num_args 與 func_get_arg 與  func_get_args
使用php解釋js檔" >5.使用php解釋js檔
使用冒號表示語句區塊" >6.使用冒號表示語句區塊
7.php 求餘出現負數處理方法" >7.php 求餘出現負數處理方法
8.使用file_get_contents post 数据" >8.使用file_get_contents post 数据
9.设置时区" >9.设置时区
首頁 後端開發 php教程 介紹php相關語法技巧

介紹php相關語法技巧

Jun 09, 2018 pm 03:29 PM
php 技巧

1. DIRECTORY_SEPARATOR 與 PATH_SEPARATOR

DIRECTORY_SEPARATOR:路徑分隔符,linux上是'/'    windows上是'\'##PATH_SEPARATOR:include多個路徑使用,在windows下,當你要include多個路徑的話,你要用」;」隔開,但在linux下就使用”:”隔開的。

2.set_include_path 與 get_include_path

此方法可以設定檔案的include路徑,設定後,include檔案會先在include_path中查找,如沒再按設定的路徑查找。 例如:include目錄下有個router.php與config.php,可以這樣include

set_include_path('include');
include('route.php');
include('config.php');
登入後複製

另外,此方法可以指定多個include_path,用PATH_SEPARATOR分隔。 例如有./a ./b ./c 三目錄,每個目錄下分別有a.php,b.php,c.php,include 3個目錄的檔案

$inc_path = array('a','b','c');
set_include_path(get_include_path().PATH_SEPARATOR.implode(PATH_SEPARATOR,$inc_path));
include('a.php');
include('b.php');
include('c.php');
登入後複製

查看include_path可以使用get_include_path()

3.call_user_func #與# call_user_func_array

call_user_func 呼叫使用者自訂方法,第一個參數為要呼叫的方法名,第二個參數開始為呼叫方法要傳遞的參數。

function foo($a,$b){
    echo $a.' '.$b;
}
call_user_func('foo',100,200); // 输出:100 200
登入後複製

call_user_func_array 與call_user_func一樣,呼叫使用者自訂方法,第一個參數為要呼叫的方法名,第二個參數是數組,數組內每一個元素是傳遞給呼叫方法的參數。這樣比call_user_func更清楚。

function foo($a,$b){
    echo $a.' '.$b;
}
call_user_func_array('foo', array(100,200)); // 输出:100 200
登入後複製

呼叫類別方法

class Foo{
    function show($a, $b){
        echo $a.' '.$b;
    }
}
call_user_func(array('Foo','show'), 100, 200); // 输出 100 200
call_user_func_array(array('Foo','show'), array(300,400)); // 输出 300 400
登入後複製

4.func_num_args 與 func_get_arg 與  func_get_args

func_num_args() 傳回呼叫方法的傳入參數數,型別是整數
func_get_arg( ) 傳回指定的參數值
func_get_args() 傳回所有參數值,類型是陣列

function foo(){
    $num = func_num_args();
    echo $num; // 2
    for($i=0; $i<$num; $i++){
        echo func_get_arg($i); // 1 2
    }
    print_r(func_get_args()); // Array
}
foo(1,2);
登入後複製

5.使用php解釋js檔

在apache httpd.conf中加入:

AddType application/x-httpd-php .js
登入後複製

6.使用冒號表示語句區塊

流程控制的書寫模式有兩種語法結構。一種用大括號表示語句塊,一種用冒號表示語句塊。前者一般用於純程式碼中,後者一般用於程式碼和HTML結合時。

大括號表示語句區塊#

if ($value) {
 // 操作; 
} elseif($value) {
 // 操作; 
} else {
 // 操作;
}
登入後複製

冒號表示語句區塊

使用冒號「:」來取代左邊的大括號「{」;使用endif; endwhile; endfor; endforeach; 和endswitch; 來取代右邊的大括號「}」。

if ($value) :
  // 操作
elseif ($value) :
  // 操作
else :
  // 操作
endif
登入後複製

7.php 求餘出現負數處理方法

php int 的範圍是-2147483648 ~ 2147483647,可用常數 PHP_INT_MAX 檢視。

當求餘的數超過這個範圍,就會出現溢位。從而出現負數。

<?php
echo 3701256461%62; // -13
?>
登入後複製

即使使用floatval 方法把数值转型为浮点数,但php的求余运算默认使用整形来计算,因此一样有可能出现负数。

解决方法是使用浮点数的求余方法 fmod

<?php
$res = floatval(3701256461);
echo fmod($res,62); // 53
?>
登入後複製

8.使用file_get_contents post 数据

<?php
$api = &#39;http://demo.fdipzone.com/server.php&#39;;
$postdata = array(
    &#39;name&#39; => &#39;fdipzone&#39;,
    &#39;gender&#39; => &#39;male&#39;
);
$opts = array(
    &#39;http&#39; => array(
        &#39;method&#39; => &#39;POST&#39;,
        &#39;header&#39; => &#39;content-type:application/x-www-form-urlencoded&#39;,
        &#39;content&#39; => http_build_query($postdata)
    )
);
$context = stream_context_create($opts);
$result = file_get_contents($api, false, $context);
echo $result;
?>
登入後複製

9.设置时区

ini_set(&#39;date.timezone&#39;,&#39;Asia/Shanghai&#39;);
登入後複製

本篇文章讲解了介绍php相关语法技巧,更多相关内容请关注php中文网。

相关推荐:

如何通过php 根据url自动生成缩略图

介绍php output_buffering 缓存使用的方法

如何通过php 实现BigPipe分块输出

以上是介紹php相關語法技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

CakePHP 使用資料庫 CakePHP 使用資料庫 Sep 10, 2024 pm 05:25 PM

在 CakePHP 中使用資料庫非常容易。本章我們將了解CRUD(建立、讀取、更新、刪除)操作。

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

為了在 cakephp4 中處理日期和時間,我們將使用可用的 FrozenTime 類別。

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

為了進行文件上傳,我們將使用表單助理。這是文件上傳的範例。

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP 是 PHP 的開源框架。它旨在使應用程式的開發、部署和維護變得更加容易。 CakePHP 基於類似 MVC 的架構,功能強大且易於掌握。模型、視圖和控制器 gu

CakePHP 建立驗證器 CakePHP 建立驗證器 Sep 10, 2024 pm 05:26 PM

可以透過在控制器中新增以下兩行來建立驗證器。

CakePHP 日誌記錄 CakePHP 日誌記錄 Sep 10, 2024 pm 05:26 PM

登入 CakePHP 是一項非常簡單的任務。您只需使用一項功能即可。您可以記錄任何後台程序(如 cronjob)的錯誤、異常、使用者活動、使用者採取的操作。在 CakePHP 中記錄資料很容易。提供了 log() 函數

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

See all articles