Sie können auch Folgendes verwenden minwork/array um jedes mehrdimensionale Array einfach abzubilden.
Der größte Vorteil dieser Lösung gegenüber nativen Funktionen besteht darin, dass Sie mehrdimensionale Arrays mit unterschiedlicher Verschachtelungstiefe abbilden können, indem Sie z. B. auch auf deren Schlüssel zugreifen:
$array = [
1 => [
2 => 'a',
3 => 'b',
4 => [
5 => 'c',
],
],
'test' => 'd',
];
$callback = function ($keys, $value) {
return implode('.', $keys) . " -> {$value}";
}
Arr::map($array, $callback, Arr::MAP_ARRAY_KEYS_ARRAY_VALUE) ->
[
1 => [
2 => '1.2 -> a',
3 => '1.3 -> b',
4 => [
5 => '1.4.5 -> c',
],
],
'test' => 'test -> d',
]
In Ihrem Fall können Sie einfach Folgendes anwenden mysql_real_escape_string
Funktion (ohne Änderung des Eingabefeldes) auf jedes Element wie folgt anwenden (unabhängig davon, wie tief jedes Element verschachtelt ist)
$escapedData = Arr::map($data, function ($value) {
return mysql_real_escape_string($value);
}, Arr::MAP_ARRAY_VALUE_KEYS_LIST);