PHPPHP

PHP函数

2016-11-08  本文已影响54人  爱折腾的傻小子

Array常用函数:

<?php
      $arr1 = ['php'=>'PHP', 'C'=>'c', 'Js', 'C++', 'Node.js'];
      $arr2 = ['code'=>'PHP','python', 'C++'];
      $arr3 = ['Green', 'Blue', 'skip'];
      var_dump( array_diff($arr1, $arr2, $arr3) );
?>

运行结果:

array(3) { 
      ["C"]=> string(1) "c" 
      [0]=> string(2) "Js" 
      [2]=> string(7) "Node.js" 
}

1.array_diff():返回的是第一个数组中的元素。
2.array_diff():比较的是,而不是键。(如:'php'=>'PHP'和'code'=>'PHP',就是相同)
3.array_diff():返回的键,是在$arr1中元素对应的键。(如:[0]=>"Js",[2]=>"Node.js"都和$arr1中一致)
4.array_diff():需要参数类型是数组(Array)。(字符串类型或其他的都不得行,结果返回NULL

<?php
      $arr1 = ['php'=>['PHP','S'=>'S'], 'C'=>'c', 'C++', 'Js', 'Node.js'];
      $arr2 = ['code'=>'PHP','python', 'C++'];
      $arr3 = ['Green', 'Blue', 'skip'];
      var_dump( array_diff_assoc( $arr1, $arr2, $arr3) );
?>

运行结果:

array(5) {
    ["php"] => array(2) {
        [0] => string(3) "PHP"
        ["S"] => string(1) "S"
      }
     ["C"] => string(1) "c"
     [0] => string(3) "C++"
     [1] => string(2) "Js"
     [2] => string(7) "Node.js"
}

1.从($arr1和$arr2的C++)中,可以看到array_diff_assoc()函数比较的时键。(要求时键和值都一致,才认为匹对成功)


bool isset(mixed $var [,mixed $...])  //> php函数语法
<?php
//> 变量不存在或值为NULL时,isset()返回false
$nu = null;
var_dump( isset($nu) );  //> false
var_dump( isset($sm) );  //> false
//> isset(NULL):出现程序错误;isset()只能解析变量
//> isset()支持多变量检查。(and关系)
$asd = "";
$dsa = 'php';
var_dump( isset($asd,$dsa) ); //> true
var_dump( isset($nu,$asd) );  //> false
?>
$nu = null;
var_dump( is_null( $null ), is_null(null));  //> true true
//> is_null():检查值是否为null(该值不一定是变量)
//> 如果变量不存在,使用is_null判断:
var_dump( is_null( $asc ) ); //> 抛出Notice警告,返回true
$arr = ['xs'=>'xs','nu'=>null];
var_dump( isset($arr['xs']) );  //> true
var_dump( isset($arr['nu']) );  //> false
$expected_array_got_string  =  'somestring' ; 
var_dump (isset( $expected_array_got_string [ 'some_key' ])); //> false
var_dump (isset( $expected_array_got_string [ 0 ]));  //> true
var_dump (isset( $expected_array_got_string [ '0' ]));  //> true
var_dump (isset( $expected_array_got_string [ 0.5 ]));  //> true
var_dump (isset( $expected_array_got_string [ '0.5' ])); //> false
var_dump (isset( $expected_array_got_string [ '0 Mostel' ])); //> false
bool defined (string $name) //> php函数语法(注意:参数需要的是字符串)
<?php
//> php的常量支持普通常量和魔术常量
var_dump( defined( 'APP' ) ); //> false
define('APP','application');
var_dump( defined( 'APP' ) ); //> true
//> defined():对魔术常量无效
var_dump( defined(__LINE__) );  //> false
var_dump( defined(__DIR__) );   //> false
?>
mixed constant( string $name ) //> php函数语法
  * 返回值:正常--返回常量的值;如果变量未定义返回 **NULL** 或抛出异常(E_WARING)

bool define(string $name, mixed $value [,bool $case_insensitive = false])
define('PI', 3.1435926);
echo PI;  //> 默认false,大小写敏感
define('TWO_PI',3.1415926, true);
echo two_pi; //> true:大小写不敏感。
//> 如果PI常量不存在时,就定义常量PI。
defined('PI') or define('PI',3.14159265);  

array array_merge( array $arr1 [,array $...] )
$arr1 = ['php'=>'PHP','c'=>'C','i want'];
// var_dump(array_merge($arr1,'me')); //> 提示第二个参数需要数组
//> 使用强制类型转换成数组的形式。
var_dump(array_merge($arr1,array('me')));
//> 相同键,后面覆盖前面
$arr2 = ['php'=>'Python',' you'];
var_dump( array_merge($arr1, $arr2) );

运行结果:

//> 相同数字的键值,拼接是要重新整合。
array(4) { 
  ["php"]=> string(3) "PHP" 
  ["c"]=> string(1) "C" 
  [0]=> string(6) "i want" 
  [1]=> string(2) "me" 
}
//> 后面的python覆盖了前面的php字符串。
array(4) { 
  ["php"]=> string(6) "Python" 
  ["c"]=> string(1) "C" 
  [0]=> string(6) "i want" 
  [1]=> string(4) " you" 
}
array array_merge_recursive(array $arr1 [, array $...])
$ar1  = array( "color"  => array( "favorite"  =>  "red" ),  5 );
$ar2  = array( 10 ,  "color"  => array( "favorite"  =>  "green" ,  "blue" ), 5 );
$result  =  array_merge_recursive ( $ar1 ,  $ar2 );
print_r ( $result );

运行结果:

//> 相同值或键进行合并成数组。
Array
(
    [color] => Array
        (
            [favorite] => Array
                (
                    [0] => red
                    [1] => green
                )
            [0] => blue
        )
    [0] => 5
    [1] => 10
    [2] => 5
)

bool in_array( mixed $needle,array $haystack [,bool $atrict = false])
//> in_array():函数和键无关,比较的是值
$arr = ['php'=>'PHP','C',520];
//> 字符串比较是要区分大小写的
var_dump( in_array('PHP', $arr) );  //> true
var_dump( in_array('php', $arr) );  //> false
//> in_array第三个参数严格判断数据类型
var_dump( in_array('520', $arr) ); //> true
var_dump( in_array('520', $arr, true) ); //> false
$a  = [['p' ,'h'] ,['p' ,'r' ] ,'o' ];
if ( in_array (['p' ,'h'] ,$a )) {    
      echo  "'ph' was found\n" ;
}
if ( in_array ( ['f' ,'i'] ,$a )) {    
      echo  "'fi' was found\n" ;
}
if ( in_array ( 'o' ,  $a )) {
      echo  "'o' was found\n" ;
}

运行结果:

//> 如果把二维数组当作一维数组,in_array也是能判断的(也是判断的是值,其他维同理)
'ph' was found
'o' was found


[===================]

Ctyoe 函数
上一篇 下一篇

猜你喜欢

热点阅读