zoukankan      html  css  js  c++  java
  • PHP学习笔记(3) 数组相关函数②.

    定为数组元素.

    在数组中搜索一个特定值,如果找到这个值则返回true,否则返回false

    • in_array()
    • boolean in_array(mixed needle,array haystack[.boolean strict])

    例:

    <?php
    
    $word = 'a';
    
    $words = array('a','b','c','d','e','f');
    
    echo  in_array($word,$words)?'yes':'no';
    
    // 将输出yes
    
    echo in_array($word,$words,1)?'yes':'no';
    
    //此时将同时判断类型.同样输出yes

    --------------------------分割线--------------------

    搜索关联数组的键

    可以是数字索引,也可以是关联索引.

    • array_key_exists()----------数组_键_存在
    • boolean array_key_exists(mixed key ,array array)

    例:

    <?php
    $search_array = array('first' => 1, 'second' => 4);
    if (array_key_exists('first', $search_array)) {
        echo "The 'first' element is in the array";
    }
    ?>
    ----------------------分割线-------------------------------
              上例摘自PHP手册
    ----------------------------------------------------------
    在数组中搜索相关的值,成功返回相关值得索引,没有找到或者失败返回false;
    • array_search()
    • mixed array_search(mixed needle, array haystack [,boolean strict]);
    例:
    <?php
    $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
    
    $key = array_search('green', $array); // $key = 2;
    $key = array_search('red', $array);   // $key = 1;
    ?>
    ---------------------分割线------------------
              上例摘自PHP手册
    ---------------------------------------------------
    一些注意的地方,
    首先,如果在数组中查找的是字符串,那么查找的字符串将比对大小写.
    第二,如果返回的是数组的第一个元素的键,而恰巧数组又是数字索引的.那么返回的值将是0,与bool型的false等价,解决方案,1,使用===判断.2,加入参数三强制判断类型.
     
    --------------------------------------------
    获取数组的键.函数返回一个数组,其中包含所搜索数组中找到的所有的键.如果提供了可选参数search_value,则指返回与其值匹配的键.
    • array_keys()
    • array array_keys ( array $input [, mixed $search_value [, bool $strict ]] )
    例:
    <?php
    $array = array(0 => 100, "color" => "red");
    print_r(array_keys($array));
    
    $array = array("blue", "red", "green", "blue", "blue");
    print_r(array_keys($array, "blue"));
    
    $array = array("color" => array("blue", "red", "green"),
                   "size"  => array("small", "medium", "large"));
    print_r(array_keys($array));
    ?>

    上例将输出:

    Array ( [0] => 0 [1] => color )
     Array ( [0] => 0 [1] => 3 [2] => 4 )
     Array ( [0] => color [1] => size ) 
    -------------------分割线-------------------
    上例摘自PHP手册,注意几点,
    可以用这个函数给多维数组的首维建立索引数组.
    首先,这个可以是array_search的替代函数,同样返回键名.
    第二,这个函数的第三个参数可选,同样存在array_search里面的布尔值等价问题.所以可以使用===判断类型或者指定第三个参数来判断返回值.
    ---------------还是分割线---------------
    获取数组的值,
    • array_values()
    • array array_values ( array $input )
    array_values()返回给定数组中的所有值,并重新定义数组的索引为数字索引,
    如果使用这个函数会使原来数组的索引丢失.
    使用这个函数可以对数组重新进行数字索引排列
    如果给定的变量不为数组.会报警告.
    Warning: array_values() expects parameter 1 to be array, string given in...
    例:
    <?php
      $array = array('a'=>'a',1=>'b','c','test'=>'d','e','f','g');
      print_r($array);
      $var = '';
      $bool = 0;$array1 = array_values($array);
      print_r($array1);
      $array2 = array_values($var);
      print_r($array2);
      $array3 = array_values($bool);
    上面的会输出
     
     
    Array
      (
      [a] => a
      [1] => b
      [2] => c
      [test] => d
      [3] => e
      [4] => f
      [5] => g
      )
      Array
      (
      [0] => a
      [1] => b
      [2] => c
      [3] => d
      [4] => e
      [5] => f
      [6] => g
      )
      <br />
      <b>Warning</b>: array_values() expects parameter 1 to be array, string given in
          <b>Warning</b>: array_values() expects parameter 1 to be array, string given in
    -------------------------------------------
    这个就先总结到这里.回头继续总结.
  • 相关阅读:
    关于产品的一些想法
    js中this的问题
    C# webkit 内核浏览器 访问https 网站 提示 Problem with the SSL CA cert (path? access rights?)
    SSL握手中win xp和SNI的那点事
    VMware安装GHOST版XP不成功的解决
    Inno Setup入门(十二)——Pascal脚本(1)
    VS打包软件部署------ClickOnce应用安装 (各版本.net引导文件安装,再发布文档离线安装下载地址)
    利用VS自带的命令行工具查看和生产PublicKeyToken
    获取批处理文件所在路径
    Nginx Windows详细安装部署教程
  • 原文地址:https://www.cnblogs.com/swordphp/p/2805073.html
Copyright © 2011-2022 走看看