3v4l.org

run code in 300+ PHP versions simultaneously
<?php function escape_quote($data) { $clean = array(); foreach ($data as $key=>$val) { if (is_array($val)) { escape_quote($val); } $val = str_replace("'", "''", $val); $clean[$key] = $val; } return $clean; } $vars = array ( 'customer1' => array ( 'fname' => 'John', 'lname' => "D'oe" ), 'customer2' => array ( 'name' => array ( 'fname' => 'John', 'lname' => "D'oe" ), 'address' => '1234 street', 'phone' => '1234567899' ) ); $output = escape_quote($vars); print_r($output);
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Warning: Array to string conversion in /in/8lQLJ on line 14 Array ( [customer1] => Array ( [fname] => John [lname] => D''oe ) [customer2] => Array ( [name] => Array [address] => 1234 street [phone] => 1234567899 ) )
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
Array ( [customer1] => Array ( [fname] => John [lname] => D''oe ) [customer2] => Array ( [name] => Array ( [fname] => John [lname] => D'oe ) [address] => 1234 street [phone] => 1234567899 ) )
Output for 4.3.0 - 4.3.1
Notice: Array to string conversion in /in/8lQLJ on line 14 Array ( [customer1] => Array ( [fname] => John [lname] => D''oe ) [customer2] => Array ( [name] => Array [address] => 1234 street [phone] => 1234567899 ) )

preferences:
328.62 ms | 402 KiB | 460 Q