博客列表 >PHP循环语句php函数详解数组常用操作----2018年-8月24日-14d点23分

PHP循环语句php函数详解数组常用操作----2018年-8月24日-14d点23分

NiceCode的博客
NiceCode的博客原创
2018年08月28日 18:49:11671浏览

一、while循环用法


实例

<?php

//while(){};先判断再循环;
$i = 0;//初始循环条件;
while($i<10){//循环停止条件;
    echo ($i<9) ? $i.',' : $i;//循环输出内容;
    $i++;//循环条件更新;
}

?>

运行实例 »

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



二、do{} .while() 循环用法

实例

<?php

//先循环一次再判断;
$i= 0;//初始循环条件;
do{//先循环一次;
    echo ($i<9) ? $i.',' : $i;//循环输出内容;
    $i++;//更新循环条件;
}while($i<10);//循环停止条件

?>

运行实例 »

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


三、PHP函数

1,函数的创建方式;

function 函数名 (参数列表) {函数体}; 

<1>函数命名:字母不区分大小写,一般都是小写字母.只允许字母,下划线,数字组合.不允许数字开头;

<2>参数列表:使用变量作为参数传递,函数的参数可有可无;也可用函数func_get_arg(序号)获取输入的参数;

<3>函数体:实现功能的代码集合;

2,函数返回值 return;

    在函数体中,可以使用使用return关键字返回处理结果,函数的返回值也是可有可无;

函数使用实例

<?php

//无返回值的无参函数

function test1()
{
    echo'无返回值的无参函数';
}

test1();//调用函数

echo '<hr>';

//无参函数

function test2()
{
    return '有返回值的无参函数';//return 关键字 返回值;
}

echo test2();//调用函数


echo '<hr>';
//无返回值的有参函数

function test3($key,$value)//多个参数用','逗号隔开;
{
    echo $key,$value;

}

test3('参数1','参数2');//调用函数

echo '<hr>';
//有返回值的有参函数;

function test4($key,$value)
{
    return ($key*$value);
}
echo test4(5,7);//调用函数

echo '<hr>';
//无需声明参数列表的接收参数的变量;使用func_get_arg();函数获取传递的参数;

function test5()
{
    echo func_get_arg(0) + func_get_arg(1) + func_get_arg(2) ;
}

test5(5,6,9);//调用函数

echo '<hr>';


//默认参数的函数;

function test6($key="默认参数")
{
    echo $key;
}

test6('我输入了参数');
test6();//没有传递参数进去,会自动使用默认参数;



?>

运行实例 »

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


函数作用域实例

<?php

$name = 'php中文网';//全局变量

function test7()
{
    $gender = '局部变量';//在内部创建的变量:局部变量,只能在函数内部访问;
    global $name;//函数内使用全局变量的方法1:使用global 关键字 接上 全局变量 的声明即可使用;
    echo $GLOBALS['name'];//函数内使用全局变量的方法2:使用超全局变量数组$GLOBALS['全局变量名']也可引用;
    echo $name;//输出全局变量;
    echo $gender;//输出局部变量;
}
test7();

//echo $gender; //示例:test7();函数内部无法在函数外使用;
?>

运行实例 »

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


四、数组常用的键值操作与指针操作


实例

<?php

$user = ['id'=>5,'name'=>'haha','gender'=>'male','age'=>20];
echo '原始数组','<br>';
echo '<pre>',print_r($user,true);


echo '<hr>';
//echo 'in_array()函数,判断数组中是否存在某个值;','<br>';

echo in_array('haha',$user) ? 'haha值存在' : 'haha值不存在';

echo '<hr>';

//=========================================================

//echo 'array_key_exists();判断数组中是否存在某个键名;','<br>';

echo array_key_exists('name',$user) ? 'name键存在' : 'name键不存在';

echo '<hr>';

//=========================================================

//echo 'array_values(); 以索引的方式返回数组中的所有值;','<br>';

print_r(array_values($user));


echo '<hr>';

//=========================================================

//echo 'array_keys(); 以索引的方式返回数组中的所有键;','<br>';

print_r(array_keys($user));

echo '<hr>';

//=========================================================

//echo 'array_search(); 搜索数组中某个值.找到该值后以字符串的方式返回该值对应的键名;','<br>';

echo array_search(20,$user);

echo '<hr>';

//=========================================================

//echo 'array_flip(); 把数组中键和值的位置对调;','<br>';

print_r(array_flip($user));

echo '<hr>';

//=========================================================

//数组内部操作--指针!

//count();返回数组的成员数;返回计算数组中有多少个元素;

echo count($user);

echo '<hr>';

//=========================================================

//key();返回数组当前指针的键;
echo key($user);

echo '<hr>';

//=========================================================

// current();返回数组当前指针的值;
echo current($user);

echo '<hr>';

//=========================================================

//next();数组指针下移;
next($user);//下移指针
echo key($user),' => ';//获取当前指针的键
echo current($user);//获取当前指针的值

echo '<hr>';

//=========================================================

//reset();数组指针回到默认位置(0位);
reset($user);//指针复位
echo key($user),' => ';//获取当前指针的键
echo current($user);//获取当前指针的值

echo '<hr>';

//=========================================================

// end(); 数组指针跳到最后一位;
end($user);//跳到数组成员最后一位
echo key($user),' => ';//获取当前指针的键
echo current($user);//获取当前指针的值

echo '<hr>';

//=========================================================

//each();返回数组当前指针的键与值的索引和关联的描述;并将数组指针下移一位;each();函数在PHP7版本中被弃用;
reset($user);//数组指针复位0;
print_r(each($user));//打印键值的关联描述,并把指针下移一位;
echo key($user),' => ';//获取当前指针的键
echo current($user);//获取当前指针的值

echo '<hr>';

//=========================================================

// list(); //把当前指针的键和值赋值给变量;参数1:键,参数2:值;
list($key,$value) = each($user);//list()变量赋值
echo $key,'-----',$value; //输出赋值后的变量;

echo '<hr>';

//=========================================================

//数组遍历方法1,while(),list(),each();遍历数组

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

?>

运行实例 »

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



五、数组模拟堆栈与队列的操作;


实例

<?php
$user = ['id'=>5,'name'=>'name','gender'=>'male'];

echo '<pre>',print_r($user,true),'<hr>';

echo '当前数组长度:',count($user);

echo '<hr>';

//=============================================================

//array_push(); 指定数组中入栈数据,函数返回值是入栈后的数组长度;(添加数组成员数据);后进
echo '函数返回入栈后的数组长度:',array_push($user,'添加','添加1','添加2'),'<br>';

print_r($user);//打印入栈后的数组;

echo '<hr>';

//=============================================================

//array_pop();指定数组中出栈数据,返回值是出栈的数据;(删除数组成员数据);后出

echo array_pop($user),'<br>';//数据出栈(删除);
echo array_pop($user),'<br>';//数据出栈(删除);
echo array_pop($user),'<br>';//数据出栈(删除);

print_r($user);//打印出栈后的数组;

echo '<hr>';

//=============================================================

//队列操作: array_unshift(); 先进, array_shift();先出
echo array_unshift($user,'添加','添加1','添加2'),'<br>';//先进;

print_r($user);//打印更新后的数组;

echo '<hr>';

array_shift($user); //先出;

print_r($user);//打印更新后的数组;


echo "<hr>";
//数组先进后出的写法:array_unshift();先进,array_pop();后出

echo array_unshift($user,'先进数据1','先进数据2');//先进数据;
print_r($user);//打印更新后的数组;

array_pop($user);//后出,删除数组gender=>male键值;

echo '<hr>';

print_r($user);//打印更新后的数组;


?>

运行实例 »

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











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