博客列表 >数组的回调处理,数组与变量、数组与字符串之间的转换(8月24日作业)

数组的回调处理,数组与变量、数组与字符串之间的转换(8月24日作业)

岑勋的博客
岑勋的博客原创
2018年08月27日 00:42:331001浏览

数组与字符串,变量之间的转换


实例

<?php
/**
 * 数组、字符串、变量之间的转换
 */

//list()将索引数组中的元素转换为变量
$info = [ '岑勋', 55, '人民广场' ];
list($name,$age,$address) = $info;
echo '我叫',$name,',我今年',$age,'岁,住在',$address;
echo '<hr>';

//extract() 将关联数组中的元素提取转变为变量,返回值是变量的数量
$db = ['id' => 9184 ,'name'=>'岑勋','email' => 'admin@qq.com' ,'salary'=>3500];
//print extract($db);
extract($db);
echo '我的id号是',$id,',我叫',$name,',我的工资',$salary,'元,有事联系我:',$email;
echo '<hr>';

//compact() 将变量转为关联数组
$id = 9184;
$name = '岑勋';
$salary = 3500;
$info = compact('id','name','salary');
print_r ($info);
echo '<hr>';

//explode() 将字符串转为索引数组
$city = '广州,上海,重庆,深圳,天津';
$town = explode(',',$city);
print_r($town);
echo '<br>';
$town = explode(',',$city,3); //第三个参数,表示数组的元素个数,当字符串数值超过limit数字时,最后一个元素包含余下的所有字符串
print_r($town);
echo '<br>';
$town = explode(',',$city,-2); //第三个参数为负数时,从后面起删除字符串的个数
print_r($town);
echo '<br>';

//implode() 将数组组合成字符串
$db = ['首页','新闻','产品中心','联系我们'];
//print_r($db);
echo '<a href="#">'.implode('</a>|<a href="#">',$db).'</a>';

运行实例 »

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

数组元素的回调处理

实例

<?php
/**
 * 数组的回调处理:将函数作为参数传递,进行数据处理
 * 用到回调的数组函数:
 * 1、array_filter()
 * 2、array_walk
 */

//array_filter():回调处理数组中的每个元素的值,默认返回结果为true的元素,也可以用回调来定义过滤
$arr = ['id'=>9184,'name'=>'岑勋','email'=>'9184@php.com','salary' => 3500];
$new_arr = array_filter($arr,function ($value){
    return $value==is_string($value);
});
echo var_export($new_arr);
echo '<br>';

//array_walk() 对数组中每个元素的键、值进行处理
//遍历数组,格式化输出
$city = ['花城'=>'广州','泉城'=>'济南','榕城'=>'福州','山城'=>'重庆'];
array_walk($city,function ($val,$key){
    echo  $str = '<strong style="color:red">'.$val.'</strong>'.'的别称是:'.'<strong style="color: coral;">'.$key.'</strong>'.'; ';
});
echo '<br>';


echo '<hr>';
$arr = [2,3,4];
echo '原数组为'.var_export($arr,true).'<br>';
array_walk($arr, function (&$value, $key, $num) {
  $value += $num;  //原数组每个元素加传入的数字
},2);
echo '新数组为'.var_export($arr,true);

运行实例 »

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

用for()循环来遍历关联数组

实例

<?php
/**
 * 用for()循环来遍历关联数组
 */

$array = ['花城'=>'广州','泉城'=>'济南','榕城'=>'福州','山城'=>'重庆'];

for ($i = 0;$i<count($array);$i++) {
    $key = array_keys($array);
    $value = array_values($array);
    echo $key[$i].'=>'.$value[$i].' ';
}

运行实例 »

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


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