zoukankan      html  css  js  c++  java
  • PHP数组(二)

    一、数组的删除——unset()函数

      示例如下:

    <?php
        //定义二维数组
        echo '这是一个二维数组<br>';
        $array1 = array(
            array('username'=>'Aka','address'=>'湖南衡阳',
        'age'=>20,'major'=>'IT','Email'=>"12345678@qq.com"),
            array('username'=>'Wunder','address'=>'LEC',
        'age'=>23,'major'=>'IT','Email'=>"Wunder@qq.com"),
            array('username'=>'Caps','address'=>'LCS',
        'age'=>21,'major'=>'IT','Email'=>"Caps@qq.com"),
            array('username'=>'Facker','address'=>'LCK',
        'age'=>22,'major'=>'IT','Email'=>"Facker@qq.com")    
        );
        echo '<pre>';
        print_r($array1);
        echo '<hr/>';
        echo '以下是删除元素后的数组结构','<br>';
        //使用unset()函数完成数据的删除
        unset($array1[2]);//删除建名为2的数组元素
        echo '<pre>';
        print_r($array1);
        echo '</pre>';

      

      unset()函数可以删除指定键名的元素,也可以删除整个数组

      

     二、数组操作符

      

      

     三、数组的查找 

      1.顺序查找

    <?php
        function search($arr,$find){
            foreach($arr as $k => $v){
                if($find == $v)
                    return "{$find}在数组中的键名为:$k";
            }
            return '查找失败';
        }
        $array = [1,2,3,4,5,6,7,8];
        echo search($array,4);

      2.二分查找(是一种针对有序数组的一种查找方法,查询效率高)

    <?php
    //递归二分查找(又称折半查找)
    function binarySearch($arr,$find,$left,$right){
        static $index = -1;
        if($left>$right){
            //返回-1说明查找失败
            return $index;
        }
        //向下取整
        $mid = floor(($left+$right)/2);
        //要找的值小于$arr[$mid]的值,说明在数组的左边
        if($find < $arr[$mid]){
            //如果$middle不-1,则挑不出去,会一直递归下去
            $right = $mid-1;
            binarySearch($arr,$find,$left,$right);
        }
        //要找的值大于$arr[$mid]的值,说明在数组的右边
        elseif($find > $arr[$mid]){
            $left = $mid+1;
            binarySearch($arr,$find,$left,$right);
        }else{
            $index = $mid;
        }
        return $index;
    }
        $array = [1,5,8,12,21,56,76,99];
        //获取数组的长度
        $length= count($array);
        $end = $length-1;
        echo binarySearch($array,990,0,$end),'<br>';
        echo binarySearch($array,99,0,$end),'<br>';
    
        

  • 相关阅读:
    【转】团队管理
    Oracle 11g中关于数据定义的思考
    【转】InfoQ的Java安全认证机制
    Oracle 11g windows简体中文版安装指南
    【转】InfoQ的集成Java内容仓库和Spring
    Oracle数据库常用操作命令(一)
    常用DQL
    如何处理Oracle客户端查询乱码问题
    Documentum中的TCS与对应权限设置
    【转】Windows系统下的Apache性能优化mpm
  • 原文地址:https://www.cnblogs.com/kaka6k66k/p/11798496.html
Copyright © 2011-2022 走看看