Blogger Information
Blog 7
fans 0
comment 0
visits 4528
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP循环语句php函数详解数组常用操作----2018年-8月24日-14d点23分
NiceCode的博客
Original
678 people have browsed it

一、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);//打印更新后的数组;


?>

运行实例 »

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











Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post