博客列表 >数组常用的键值操作和指针操作——2018年8月23日

数组常用的键值操作和指针操作——2018年8月23日

Jackson
Jackson原创
2018年09月04日 22:41:451140浏览
  1. while() 和do while()的基本使用方法

    while是入口型,先判断再操作的,而do while是出口型,先执行再判断,案列如下:


    实例

    <?php
    /**
     * Created by PhpStorm.
     * User: Jackson
     * Date: 2018/8/31
     * Time: 15:37
     */
    //while():入口判断型
    for ($i=0; $i<10; $i++){
        echo $i<9 ? $i.',' : $i;
    }
    echo '<hr>';
    
    $i = 0;//初始条件
    while($i<10){
        echo $i<9 ? $i.',' : $i;
        $i++;
    }
    
    echo '<hr>';
    
    //do while 出口型,至少执行一次
    $i = 0;
    do{
        echo $i<9 ? $i.',' : $i;
        $i++;
    }while($i<10);
    运行实例 »

    点击 "运行实例" 按钮查看在线实例

2.函数的参数和作用域

函数的参数只是形参,不一定要有,函数参数的作用域和变量的作用域一样,外部声明的 变量不能直接在函数内使用,需要关键字global和全局数组$GLOBALS才能在函数内使用,案列如下:

实例

<?php
/**
 * 函数的基本知识
 */
//声明
function hello()
{
    return 'hello';
}
echo hello(),'<hr>';//按函数名调用,后面加一对括号

function add(){
    return func_num_args();//获取函数参数的个数
}
echo add(4,6);

//外部声明的变量不能在函数内直接使用
$a = 'jack';
$b = 'apple';
function hello1( ){
    global $a;//加global关键字可以使用外部变量
    //return $a;
    return $GLOBALS['b'];//$GLOBALS全局变量
}
echo hello1();
运行实例 »

点击 "运行实例" 按钮查看在线实例

3.函数的键值操作和指针操作

数组常用的函数有很多,主要就是对键值进行操作,需要多使用才有助于记忆,案列如下:

实例

<?php
/**
 * 1.键值操作
 * 2.数组内部指针操作
 */
$user = ['id'=>'3','name'=>'jason','sex'=>'man','age'=>'33'];
echo '<pre>';
print_r($user);

echo in_array('jasoHH',$user)? '存在':'不存在<br>';

echo array_key_exists('name',$user)? '存在<br>':'不存在<br>';
//返回数组的值
print_r(array_values($user));
//返回数组的键
print_r(array_keys($user));
//array_search() 查找数组指定值的键
echo array_search('man',$user),'<br>';
//array_flip()键值对调
print_r(array_flip($user));

//数组内部的指针
echo count($user),'<br>';
echo key($user),'<br>';//返回当前的键
echo current($user),'<br>';//返回当前指针的值
next($user);//指针下移
echo key($user),'<br>';//返回当前的键
echo current($user),'<br>';//返回当前指针的值

reset($user);//指针复位
echo key($user),'<br>';//返回当前的键
echo current($user),'<br>';//返回当前指针的值

end($user);//指针调到最后一个元素
echo key($user),'<br>';//返回当前的键
echo current($user),'<br>';//返回当前指针的值

//each() 返回当前元素的索引和关联描述,并且指针下移
print_r(each($user));
//list() 将索引数组的值 赋值给一组变量
reset($user);
list($key,$value) = each($user);
echo $key.',,,'.$value.'<br>';

reset($user);
while(list($key,$value)=each($user)){
    echo $key,'=>',$value,'<br>';
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

4.数组的堆栈和队列

使用函数array_push()/array_pop(), array_unshift()/array_shift()进行数组的值插入和移除,案列如下:

实例

<?php
/**
 * 用数组模拟堆栈和队列操作
 */
$user = ['id'=>5, 'name'=>'jack','gender'=>'male'];
echo '<pre>',print_r($user,true),'<br>';
echo '当前长度'.count($user),"<br>";
//入栈:array_push(),在尾部加值,返回数组长度
echo array_push($user,'php');
echo '<pre>',print_r($user,true),'<br>';
//array_pop()删除尾部的值,返回删除的值
echo array_pop($user);
echo array_pop($user);
print_r($user);
echo "<hr>";
//对列 shift() unshift()
//array_shift()在数组头部加值,可加两个值,返回数组长度
echo array_unshift($user,'www.php.cn','jack');
print_r($user);
echo array_shift($user);//返回删除的值
print_r($user);
echo '<hr>';
$user = ['id'=>5, 'name'=>'jack','gender'=>'male'];
array_push($user,'html');//尾部进队
print_r($user);

array_shift($user);//头部出队
print_r($user);

array_unshift($user,'css');//头部进队
print_r($user);
array_pop($user);//尾部出队
print_r($user);

运行实例 »

点击 "运行实例" 按钮查看在线实例

总结:数组的使用关键在于函数的熟练程度,所欲要多阅读手册进行理解和背诵函数的使用方式,这样才会有助于数组的使用。


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议