Maison > développement back-end > tutoriel php > Explication sur les fonctions personnalisées PHP et les fonctions internes

Explication sur les fonctions personnalisées PHP et les fonctions internes

小云云
Libérer: 2023-03-20 15:34:01
original
2091 Les gens l'ont consulté

1. Portée de la variable
est également appelée portée d'une variable. La portée d'une variable est le contexte dans lequel elle est définie (également sa portée effective
La plupart des variables PHP n'ont qu'une seule portée). .Cette portée unique La portée de la portée comprend également les fichiers introduits par include et require.

mot-clé global : vous pouvez utiliser le mot-clé global à l'intérieur de la fonction pour accéder aux variables globales

ou via $GLOBALS et d'autres tableaux super-globaux

Par exemple :

$str = 'xxxx';
function test(){
//方法一:
global $str;
echo $str;
//方法二
//echo $GLOBALS['str']
}
Copier après la connexion

2. Variables statiques
Les variables statiques n'existent que dans la portée de la fonction locale, mais leurs valeurs ne disparaîtront pas lorsque l'exécution du programme quitte cette portée

mot-clé statique
Initialisé une seule fois
Une valeur doit être attribuée lors de l'initialisation
La valeur sera conservée à chaque exécution de la fonction
La variable modifiée par static est locale et valable uniquement au sein de la fonction
Le le nombre d'appels de la fonction peut être enregistré, de sorte que Terminer la récursion sous certaines conditions

2.1, variables globales, variables statiques

<?php

/**
 * 写出如下程序的输出结果:
 * <?php
 *
 * $count = 5;
 * function get_count()
 * {
 *     static $count;
 *     return $count++;
 * }
 * echo $count;
 * ++$count;
 *
 * echo get_count();
 * echo get_count();
 * 
 * ?>
 *
 */

$count = 5;
function get_count()
{
    static $count;
    return $count++;
}


echo $count;//5
++$count;

//这里还涉及到运算符:递减NULL值没有效果,但是递增NULL值为1
echo get_count();//null,第一次定义的static $count,内容为null,现返回内容null,再null++,结果为1
echo get_count();//1,static $count = 1,现返回1,再递增
Copier après la connexion


2.2, transfert de fonction

<?php


$var1 = 5;
$var2 = 10;


function foo(&$my_var)
{
    global $var1;
    $var1 += 2;
    $var2 = 4;
    $my_var += 3;
    return $var2;
}


$my_var = 5;
echo foo($my_var). "\n";//4
echo $my_var. "\n";//8
echo $var1;//7
echo $var2;//10
$bar = &#39;foo&#39;;
$my_var = 10;
echo $bar($my_var). "\n";//4
Copier après la connexion


2.3. Retour de référence de fonction

从函数返回一个引用,必须在函数声明和指派返回值给一个变量都是用引用运算符&
<?php

function &myFunc()
{
    static $b = 10;
    return $b;
}

echo myFunc();//10

$a = &myFunc();//此步a直接引用到b的地址

$a = 100;//修改a的值,相当于修改b的值

echo myFunc();//100 ,因为b是一个静态变量,该值会保留
Copier après la connexion


3.Import de fichiers externes
Si le nom du chemin est donné, rechercher selon le chemin, sinon rechercher depuis include_path
S'il n'y a pas d'include_path, rechercher à partir du répertoire où se trouve le fichier de script appelant et du répertoire de travail actuel

Lorsqu'un fichier est inclus, le code contenu il hérite de la portée variable de la ligne où se trouve l'inclusion

Si aucun des éléments ci-dessus n'est trouvé, l'erreur ou l'avertissement suivant sera signalé
require et require_once : en cas d'échec, un niveau fatal une erreur sera générée et le programme cessera de fonctionner.
include et include_once : seule une erreur de niveau d'avertissement est générée en cas d'échec et le programme continue de s'exécuter.

La seule différence entre les deux est que lorsque le code du fichier inclus existe déjà, il n'est plus inclus

4. Fonctions intégrées au système
4.1, fonction heure et date
date() //Formater l'horodatage
strtotime() //Analyser la date et l'heure du texte anglais dans l'horodatage Unix
mktime() //Integer Unix timestamp
time() //Obtenir l'horodatage de l'heure actuelle
microtime () //Obtenir les millisecondes
date_default_timezone_set() //Définir le fuseau horaire par défaut

4.2, fonction de traitement IP
long2ip : Convertir l'entier long en une adresse au format standard Internet en pointillés sous forme de chaîne ( IPV4)
ip2long : Convertir le protocole Internet de chaîne IPV4 en nombre entier long

4.3 La fonction d'impression
echo()
peut générer plusieurs valeurs à la fois, entre plusieurs valeurs Séparez par des virgules. echo est une construction de langage, pas une fonction réelle, elle ne peut donc pas être utilisée dans le cadre d'une expression.

print() : La valeur d'une variable de type simple (comme int, string)
La fonction print() imprime une valeur (son paramètre) et renvoie true si la chaîne est affichée avec succès, sinon il renvoie faux.

print_r() : peut imprimer la valeur de variables de type complexe (telles que des tableaux, des objets)
peut simplement imprimer des chaînes et des nombres, tandis que les tableaux se présentent sous la forme d'une liste de clés ci-jointe et Valeurs affichées et commence par Array. Mais les résultats de print_r() qui génèrent des valeurs booléennes et NULL n'ont aucun sens, car ils affichent tous "n". Par conséquent, l’utilisation de la fonction var_dump() est plus adaptée au débogage.
Imprime des informations lisibles par l'homme sur la variable. Si une chaîne, un entier ou un flottant est donné, la valeur de la variable elle-même sera imprimée. Si un tableau est donné, les clés et les éléments seront affichés dans un certain format. l'objet est similaire à un tableau. N'oubliez pas que print_r() déplacera le pointeur du tableau vers la fin. Utilisez reset() pour ramener le pointeur au début.

var_dump()
Cette fonction affiche des informations structurelles sur une ou plusieurs expressions, y compris le type et la valeur de l'expression. Les tableaux développeront les valeurs de manière récursive, montrant leur structure par indentation.
Déterminez le type et la longueur d'une variable et affichez la valeur de la variable. Si la variable a une valeur, la valeur de la variable est affichée et le type de données est renvoyé. Cette fonction affiche des informations structurelles sur une ou plusieurs expressions, y compris le type et la valeur de l'expression. Les tableaux développeront les valeurs de manière récursive, montrant leur structure par indentation.

var_export() : génère ou renvoie une représentation sous forme de chaîne d'une variable
Cette fonction renvoie des informations structurelles sur la variable transmise à la fonction

Vous pouvez transmettre la seconde Le paramètre est défini sur TRUE, renvoyant ainsi la représentation de la variable. Il renvoie du code PHP valide.

var_dump和print_r的区别:
var_dump返回表达式的类型与值而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。

var_dump和var_export的区别:
var_export() 函数返回关于传递给该函数的变量的结构信息,是合法的 PHP 代码,可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示
var_dump() 打印变量的相关信息

printf():根据格式进行输出
sprintf():根据格式转换字符串,并返回
Copier après la connexion


4.4, sérialiser et désérialiser désérialiser

<?php   
$a = array(&#39;a&#39; => 'Apple' ,'b' => 'banana' , 'c' => 'Coconut');   

//序列化数组   
$s = serialize($a);  
echo $s;  
//输出结果:a:3:{s:1:"a";s:5:"Apple";s:1:"b";s:6:"banana";s:1:"c";s:7:"Coconut";}   
echo '<br /><br />';  
  
//反序列化  
$o = unserialize($s);  
print_r($o);  
//输出结果 Array ( [a] => Apple [b] => banana [c] => Coconut )
Copier après la connexion


4.5, json_encode et json_decode

<?php 
$a = array(&#39;a&#39; => 'Apple' ,'b' => 'banana' , 'c' => 'Coconut');
//序列化数组
$s = json_encode($a);
echo $s;
//输出结果:{"a":"Apple","b":"banana","c":"Coconut"}
echo '<br /><br />';

//反序列化
$o = json_decode($s);

在上面的例子中,json_encode输出长度比上个例子中serialize输出长度显然要短
Copier après la connexion


4.6, Fonction String
Résumé de l'utilisation de la chaîne php


4.7, Fonction Array
Opération de tableau php

Recommandations associées :

Journal des enregistrements des fonctions personnalisées PHP

La fonction personnalisée PHP détermine quelle méthode de soumission est utilisée

Comment utiliser les fonctions intégrées et fonctions personnalisées en JS

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal