Today we will discuss how to write a method to delete specified values in an array using PHP.
First, we need to understand arrays. Array is a data type that allows us to store multiple values in one variable. Arrays in PHP can be indexed arrays and associative arrays. Indexed arrays are numerically indexed arrays, while associative arrays use string keys to specify each value. We can create an array using:
// 索引数组 $numbers = array(1, 2, 3, 4, 5); // 关联数组 $person = array("name" => "John", "age" => 30, "city" => "New York");
Now, let’s see how to delete a specific value in an array. Assume our array is an indexed array:
$numbers = array(1, 2, 3, 4, 5);
We want to delete the value 3 in the array, we can use PHP's built-in function array_search()
to find the key name of the value, and use unset()
function to delete the value.
$index = array_search(3, $numbers); unset($numbers[$index]);
Now, if we print the $numbers array, you will see that it does not contain the value 3 anymore.
print_r($numbers); // 输出:Array ( [0] => 1 [1] => 2 [3] => 4 [4] => 5 )
However, when we use the array_search()
function, it can only return the key of the first match found. If there are multiple values in the array, we need to remove each match. To handle this situation we can use a loop to go through the array and remove all matches.
$numbers = array(1, 2, 3, 4, 5, 3); $search = 3; foreach ($numbers as $key => $value) { if ($value == $search) { unset($numbers[$key]); } } print_r($numbers); // 输出:Array ( [0] => 1 [1] => 2 [3] => 4 [4] => 5 )
In this way, we delete all elements with a value of 3 in the array.
In addition, if the array is an associative array, we can use the array_search()
function in the same way as the unset()
function to delete the specified value.
$person = array( "name" => "John", "age" => 30, "city" => "New York" ); $search = "John"; foreach ($person as $key => $value) { if ($value == $search) { unset($person[$key]); } } print_r($person); // 输出:Array ( [age] => 30 [city] => New York )
In this way, we successfully deleted the key with the value "John" in the associative array.
To summarize, we can use the array_search()
function and the unset()
function to delete the specified value in the PHP array. If there are multiple values in the array that need to be deleted, we can use a loop to go through and delete all matching items. This method applies to both indexed and associative arrays. I hope this article helped you better understand the basics and methods of PHP arrays.
The above is the detailed content of How to delete specified value in array in php. For more information, please follow other related articles on the PHP Chinese website!