1、将数组中的字符串全部转换为数字

array_map('intval', $arr)

要注意的问题是,这里会进行隐式转换,会根据PHP的转换规则进行转换。
所以如果你不希望将其中包含的false默认转为为0等行为的出现,在使用这个函数的时候一定要注意!

2、json_encode之后会将数字键提前,搞乱原来的顺序

可以将原来的数组结构更改为object的结构,可以参考:

        $fields = array_map(function ($key, $value) {
            return ['key' => $key, 'value' => $value];
        }, array_keys($fields), $fields);

出现这样行为可以参考这两篇文章:
1、https://stackoverflow.com/questions/31405513/sorting-doesnt-work-in-laravel-http-response
2、https://stackoverflow.com/questions/21216391/prevent-json-encode-associative-array-sorting



登陆发表评论