Maison  >  Article  >  développement back-end  >  Cas de traitement de variables et de dates PHP

Cas de traitement de variables et de dates PHP

墨辰丷
墨辰丷original
2018-06-07 16:35:203178parcourir

Cet article présente principalement les variables PHP et les cas de traitement des dates. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Liés aux variables
Implémentation interne des variables PHP
Les types système des langages de programmation sont divisés en types forts et types faibles :

  1. Le langage Strong Type signifie qu'une fois qu'une variable est déclarée comme variable d'un certain type, lors de l'exécution du programme, une valeur autre que le type de la variable ne peut pas lui être attribuée. Les langages tels que c/c++/. java entre dans cette catégorie

  2. Les langages de script tels que php, ruby ​​et javascript sont des langages faiblement typés : une variable peut représenter n'importe quel type de données


Types de variables php et structures de stockagePHP n'a pas besoin d'indiquer explicitement son type de données lors de la déclaration ou de l'utilisation de variables

PHP est un langage faiblement typé Cela ne veut pas dire. que php n'a pas de types. En php, il existe 8 types de variables, qui peuvent être divisés en trois catégories :

  1. Type scalaire : booléen, entier, flottant, chaîne

  2. Type composite : tableau, objet

  3. Type spécial : ressource, NULL


Variable structure de stockageLa valeur de la variable est stockée dans Dans la structure zval illustrée. Sa structure est la suivante :

  typedef struct _zval_struct zval; 
   
  struct _zval_struct { 
    zvalue_value value; // 存储变量的值 
    zend_uint refcount__gc; // 表示引用计数 
    zend_uchar type;  // 变量具体的类型 
    zend_uchar is_ref_gc;  // 表示是否为引用 
  };


La valeur de la variable est stockée dans une autre structure zvalue_value

Type de variablezval Le champ de type de la structure est le champ le plus critique pour implémenter le typage faible. La valeur du type peut être l'une des suivantes : IS_NULL, IS_BOOL, IS_LONG, IS_DOUBLE, IS_STRING, IS_ARRAY, IS_OBJECT, IS_RESOURCE. C'est facile à comprendre littéralement, ce ne sont que des types. L'identifiant unique, stocke différentes valeurs dans le champ de valeur selon différents types

Stockage des valeurs variablesComme mentionné. plus tôt, la valeur de la variable est stockée dans la structure zvalue_value. La structure est définie comme suit :

  typedef union _zvalue_value { 
    long lval; 
    double dval; 
    struct { 
      char *val; 
      int len; 
    } str; 
    HashTable *ht; 
    zend_object_value obj; 
  } _zvalue_value;


Date liée

Calculer le nombre. de jours entre deux dates


 <?php 
   
  /** 
   * 求两个日期之间相差的天数(针对1970年1月1日之后,求之前可以采用泰勒公式) 
   * @param string $day1 
   * @param string $day2 
   * @return number 
   */ 
  function diffBetweenTwoDays ($day1, $day2) 
  { 
    $second1 = strtotime($day1); 
    $second2 = strtotime($day2); 
     
    if ($second1 < $second2) { 
      $tmp = $second2; 
      $second2 = $second1; 
      $second1 = $tmp; 
    } 
     
    return ($second1 - $second2) / 86400; 
  } 
   
  $day1 = "2013-07-27"; 
  $day2 = "2013-08-04"; 
   
  $diff = diffBetweenTwoDays($day1, $day2); 
  echo $diff."\n";

Résumé :Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Explication détaillée de l'extension DS de la structure de données en PHP

Implémentation PHP pour extraire strings Méthode d'expression régulière du numéro de téléphone portable

Implémentation PHP de génération et d'analyse XML basée sur SimpleXML

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