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

Mar 01, 2018 pm 01:34 PM
php interne 自定义

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

CakePHP travaillant avec la base de données CakePHP travaillant avec la base de données Sep 10, 2024 pm 05:25 PM

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

See all articles