Ste*_*yne 2 php csv implode multidimensional-array
是否有可能爆炸这样的数组.
$arr=array();
$arr[0]['id']='123';
$arr[0]['otherdatas']=
$arr[1]['id']='234';
$arr[1]['otherdatas']=
$arr[2]['id']='567';
echo "string: ".explode($arr[]['id'],',');
Run Code Online (Sandbox Code Playgroud)
并最终得到这个?
string: 123,234,567
Run Code Online (Sandbox Code Playgroud)
执行以上操作会导致:
致命错误:无法使用[]在第8行的/data/www/test.php中阅读
如果不做像......那样的事情我怎么能这样做呢?
function getIDs(){
foreach($arr as $val){
if($string){$string.=',';}
$string.=$arr['id'];
}
return $string;
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来解决这个问题?
首先,你正在尝试implode使用字符串,而不是explode.其次,不,没有语法快捷方式来表达"将id所有子阵列中的所有键连接在一起"的操作.你可以这样简洁地做到这一点:
echo join(',', array_map(function ($i) { return $i['id']; }, $arr));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
272 次 |
| 最近记录: |