This article shows some techniques of manipulating data in an array. To keep it simple, let’s start by looking how we can remove quotes from a variable. To remove a character, we can replace it with nothing using str_replace() function.
$a = "'pineapple'";
$b = '"guava"';
print "$a $b\n";
$a = str_replace("'","",$a);
$b = str_replace('"','',$b);
print "$a $b\n";
This results in:
'pineapple' "guava"
pineapple guava
Consider this code
function remove_single_quotes(&$value) {
$value = str_replace("'","",$value);
}
function strip_single_quotes($value) {
return str_replace("'","",$value);
}
print "original\n";
$fruits = array("'apple'","'banana'","'nectar'");
print_r($fruits);
# does not work
print "Using foreach\n";
foreach ($fruits as $fruit) { $fruit = str_replace("'","",$fruit); }
print_r($fruits);
print "original\n";
$fruits = array("'apple'","'banana'","'nectar'");
print_r($fruits);
print "Using for loop\n";
for ($i = 0; $i < count($fruits); $i++) {
$fruits[$i] = str_replace("'","",$fruits[$i]);
}
print_r($fruits);
print "original\n";
$fruits = array("'apple'","'banana'","'nectar'");
print_r($fruits);
print "Using for loop by value\n";
for ($i = 0; $i < count($fruits); $i++) {
$fruits[$i] = strip_single_quotes($fruits[$i]);
}
print_r($fruits);
print "original\n";
$fruits = array("'apple'","'banana'","'nectar'");
print_r($fruits);
print "Using for loop by reference\n";
for ($i = 0; $i < count($fruits); $i++) {
remove_single_quotes($fruits[$i]);
}
print_r($fruits);
print "original\n";
$fruits = array("'apple'","'banana'","'nectar'");
print_r($fruits);
print "Using array_walk\n";
array_walk($fruits,'remove_single_quotes');
print_r($fruits);
Output:
original
Array
(
[0] => 'apple'
[1] => 'banana'
[2] => 'nectar'
)
Using foreach
Array
(
[0] => 'apple'
[1] => 'banana'
[2] => 'nectar'
)
original
Array
(
[0] => 'apple'
[1] => 'banana'
[2] => 'nectar'
)
Using for loop
Array
(
[0] => apple
[1] => banana
[2] => nectar
)
original
Array
(
[0] => 'apple'
[1] => 'banana'
[2] => 'nectar'
)
Using for loop by value
Array
(
[0] => apple
[1] => banana
[2] => nectar
)
original
Array
(
[0] => 'apple'
[1] => 'banana'
[2] => 'nectar'
)
Using for loop by reference
Array
(
[0] => apple
[1] => banana
[2] => nectar
)
original
Array
(
[0] => 'apple'
[1] => 'banana'
[2] => 'nectar'
)
Using array_walk
Array
(
[0] => apple
[1] => banana
[2] => nectar
)