PHP foreach遍历数组之如何判断当前值已经是数组的最后一个

先给出foreach的两种语法格式

1,foreach (array_expression as $value)
    statement
2,foreach (array_expression as $key => $value)
    statement

第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key

foreach在数组遍历的时候格外好用,简单的一句话就能遍历整个数组而且不需要担心数组溢出的问题!

但有些时候我需要知道它是否已经循环到最后一个值了,比如我有一个数组,需要将它转换成json格式,虽然json_encode()可以直接转,这里的重点是如何判断数组已经遍历到最后一项

众所周知,json数据格式是键值对之间有逗号,最后一项没有逗号。

所以,这时候如果用foreach遍历的话就需要知道是否已经遍历到最后一项了,因为最后一项不要逗号呀!

end($dataArray)的作用拿到数组的最后一项的值,只需要判断$value是否等于end($dataArray)就可以啦!

完整代码如下:

$dataArray = array("name"=>"klaus", "sex"=>"male", "age"=>"18", "country"=>"China");
$ret = '{"';
foreach($dataArray as $key=>$value) {
  $ret .= $key;
  $ret .= '":"';
  $ret .= $value;
  if($value !== end($dataArray)) {
    $ret .= '","';
  }
}
$ret .= '"}';

 

转载于:https://www.cnblogs.com/HardCarroll/p/10122881.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值