我想用空字符串转换所有null我使用array_walk_recursive
但我没有得到我想要的东西请帮我弄明白我在这里做错了什么。
protected function setData($key, $value)
{
$this->data[$key] = $value;
array_walk_recursive($this->data, function (&$item, $key) {
$item = null === $item ? '' : $item;
});
return $this->data;
}
答案 0 :(得分:1)
select procedurename from table name t1
内传递雄辩的对象所以在传递之前我需要使用{{1}从雄辩的对象转换为数组像这样的laravel中的方法。
在用户控制器
中array_walk_recursive
然后->toArray()
将起作用。
$this->setData("friendList", $loadFriends->friends->toArray());
答案 1 :(得分:0)
class InputCleanup
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$input = $request->input();
array_walk_recursive($input, function(&$value) {
if (is_string($value)) {
$value = StringHelper::trimNull($value);
}
});
$request->replace($input);
return $next($request);
}
}
答案 2 :(得分:0)
您的array_walk_recursive()
方法应修改如下。
array_walk_recursive($input, function($i) use (&$output) {
$output[] = is_null($i)? '': $i;
});
var_dump($output);
$output
包含您想要的结果。你可以return
或做任何你想做的事情。
注意:如果array_walk()
不是关联数组,则可以使用$input
。