Maison  >  Article  >  développement back-end  >  Présentation des compétences en syntaxe liées à PHP

Présentation des compétences en syntaxe liées à PHP

jacklove
jackloveoriginal
2018-06-09 15:29:452082parcourir

1. DIRECTORY_SEPARATOR et PATH_SEPARATOR

DIRECTORY_SEPARATOR : séparateur de chemin, sous Linux '/ ' Sous Windows, c'est ''PATH_SEPARATOR : utilisé pour inclure plusieurs chemins. Sous Windows, lorsque vous souhaitez inclure plusieurs chemins, vous devez les séparer par ";", mais utilisez-le sous Linux. :" Séparé.

2.set_include_path et get_include_path

Cette méthode peut définir le chemin d'inclusion du fichier. Après le réglage, le fichier d'inclusion sera d'abord recherché dans include_path. S'il n'est pas recherché, il sera recherché en fonction. au chemin défini.
Par exemple : il y a router.php et config.php dans le répertoire include, vous pouvez l'inclure comme ceci

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

De plus, cette méthode peut spécifier plusieurs include_paths , utilisez PATH_SEPARATOR séparé.
Par exemple, il y a trois répertoires : ./a ./b ./c Chaque répertoire contient des fichiers dans 3 répertoires : a.php, b.php, c.php et include

.
$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');

Pour afficher include_path, vous pouvez utiliser get_include_path()

3.call_user_func et call_user_func_array

call_user_func appelle une méthode définie par l'utilisateur. Le premier paramètre est le nom de la méthode à appeler et le deuxième paramètre commence par le. méthode d’appel à transmettre.

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

call_user_func_array Comme call_user_func, il appelle une méthode définie par l'utilisateur. Le premier paramètre est le nom de la méthode à appeler et le deuxième paramètre est un tableau. . Chaque élément est un paramètre passé à la méthode appelante. C'est plus clair que call_user_func.

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

Méthode de classe d'appel

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 et func_get_arg Identique à func_get_args

func_num_args() renvoie le nombre de paramètres entrants de la méthode appelante, le type est entier
func_get_arg() Renvoie la valeur du paramètre spécifiée
func_get_args() Renvoie toutes les valeurs des paramètres, le type est tableau

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. Utiliser php pour interpréter les fichiers js

Ajouter Apache httpd.conf :

AddType application/x-httpd-php .js

6 .Utilisez des deux-points pour représenter les blocs d'instructions

Il existe deux structures grammaticales pour le mode d'écriture du contrôle de flux. L’un utilise des accolades pour représenter les blocs d’instructions et l’autre utilise des deux-points pour représenter les blocs d’instructions. Le premier est généralement utilisé dans le code pur et le second est généralement utilisé lorsque le code est combiné avec du HTML.

Les accolades représentent des blocs d'instructions

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

Les deux points représentent des blocs d'instructions

Utilisez deux points : : pour remplacer l'accolade gauche "{" ; utilisez endwhile ; endforeach ; et endswitch ;

if ($value) :
  // 操作
elseif ($value) :
  // 操作
else :
  // 操作
endif

7.php Comment gérer les restes négatifs

php int La plage est -2147483648 ~ 2147483647, qui peut être visualisée avec la constante PHP_INT_MAX.

Lorsque le reste dépasse cette plage, un débordement se produit. Cela donne un nombre négatif.

<?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分块输出

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn