PHP関連の構文スキルの紹介

jacklove
jackloveオリジナル
2018-06-09 15:29:452170ブラウズ

1. DIRECTORY_SEPARATOR および PATH_SEPARATOR

##DIRECTORY_SEPARATOR: パス区切り文字 (Linux の場合) Windows では、'\'PATH_SEPARATOR: 複数のパスを含めます。Windows では、複数のパスを含める場合は「;」を使用して区切る必要がありますが、Linux では、次のように区切られます。 「:」。

2.set_include_path および get_include_path

#このメソッドは、ファイルのインクルード パスを設定できます。設定後、include_path でインクルード ファイルが検索されない場合は、最初に検索されます。設定されたパスに従って。 例: include ディレクトリには router.php と config.php があり、次のようにインクルードできます

set_include_path('include');
include('route.php');
include('config.php');

さらに、このメソッドでは複数の include_path を指定できます。# を使用します。 ##PATH_SEPARATOR分離されました。 たとえば、./a ./b ./c という 3 つのディレクトリがあります。各ディレクトリには、a.php、b.php、c.php、include という 3 つのディレクトリにファイルがあります。
include_path を表示するには、
get_include_path()

##3.

を使用できます。 call_user_func および call_user_func_arraycall_user_func ユーザー定義メソッドを呼び出します。最初のパラメータは呼び出されるメソッドの名前で、2 番目のパラメータはパラメータを渡すメソッドを呼び出します。

$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');
call_user_func_array call_user_func と同じで、最初のパラメータは呼び出されるメソッドの名前です。各要素は配列です。呼び出し側メソッドに渡されるパラメータです。これは call_user_func よりも明確です。
function foo($a,$b){
    echo $a.' '.$b;
}
call_user_func('foo',100,200); // 输出:100 200

クラス メソッドの呼び出し

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

4.func_num_args

および

func_get_arg および func_get_argsfunc_num_args() 呼び出しメソッドに渡されるパラメータの数を返します。型は整数です。

func_get_arg( ) 指定されたパラメータ値を返しますfunc_get_args()
すべてのパラメータ値を返します。型は配列です

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

5.PHP を使用して js ファイルを説明します

Apache httpd.conf:
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);

6. に追加しますステートメントを示すにはコロンを使用します。 Block

#フロー制御の記述モードには 2 つの文法構造があります。 1 つは中括弧を使用してステートメント ブロックを表し、もう 1 つはコロンを使用してステートメント ブロックを表します。前者は通常、純粋なコードで使用され、後者は通常、コードが HTML と結合される場合に使用されます。

#中かっこはステートメント ブロックを表します

AddType application/x-httpd-php .js

#コロンはステートメント ブロックを表します

#左中括弧「{」を置き換えるにはコロン「:」を使用し、右中括弧「}」を置き換えるには endfor; を使用します。

if ($value) {
 // 操作; 
} elseif($value) {
 // 操作; 
} else {
 // 操作;
}
7.

php 負の数値の扱い方

php 範囲int -2147483648 ~ 2147483647 であり、定数 PHP_INT_MAX で表示できます。

余りがこの範囲を超えるとオーバーフローが発生します。その結果、負の数が返されます。

<?php
echo 3701256461%62; // -13
?>

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

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

2f8148f9bce10b2c19e06b65af954937

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。