Home >Backend Development >PHP Problem >Delete specified columns from php two-dimensional array
In PHP development, arrays are a very common data type, and two-dimensional arrays are widely used in various business scenarios. However, in actual development, we often need to perform some operations on two-dimensional arrays, such as deleting a certain row or column. How to achieve this? This article will introduce how to use PHP to operate a two-dimensional array to delete specified columns.
The unset function in php can be used to delete elements in an array, including ordinary arrays, associative arrays and multi-dimensional arrays. The syntax is as follows:
unset($array[index]);
Among them, $array represents the array of elements to be deleted, and index represents the subscript of the element to be deleted.
For two-dimensional arrays, we can traverse the entire array through nested loops, and then use the unset function to delete the specified column. The sample code is as follows:
<?php $array = array( array('a'=>1, 'b'=>2, 'c'=>3), array('a'=>4, 'b'=>5, 'c'=>6), array('a'=>7, 'b'=>8, 'c'=>9), ); $remove_key = 'b'; for ($i = 0; $i < count($array); $i++) { unset($array[$i][$remove_key]); // 删除指定列 } print_r($array); ?>
In the above code, we create a two-dimensional array containing 3 elements, then specify the column to be deleted as b, use a loop to traverse the entire two-dimensional array, and delete each row in turn. Column b. Finally, print out the processed two-dimensional array.
In addition to the unset function, PHP also provides the array_map function, which can apply the specified callback function to each array element , and returns a new array. Therefore, we can use the array_map function in conjunction with the anonymous function to set the value of the specified column to null, thereby achieving the effect of deleting the specified column. The sample code is as follows:
<?php $array = array( array('a'=>1, 'b'=>2, 'c'=>3), array('a'=>4, 'b'=>5, 'c'=>6), array('a'=>7, 'b'=>8, 'c'=>9), ); $remove_key = 'b'; $array = array_map(function($row) use ($remove_key) { unset($row[$remove_key]); // 删除指定列 return $row; }, $array); print_r($array); ?>
In the above code, we also create a two-dimensional array containing 3 elements, then specify the column to be deleted as b, use the array_map function to traverse each row and apply the anonymous function, The value of the specified column is set to null, and the processed two-dimensional array is finally obtained.
In addition to the above two methods, we can also use PHP's built-in array_column function and array_diff function to delete specified columns. The array_column function can extract the value of a specified column in a two-dimensional array, and the array_diff function can calculate the difference of multiple arrays. Therefore, we can first use the array_column function to extract the specified column, and then use the array_diff function to calculate the difference set, thereby obtaining an array with the specified column deleted. The sample code is as follows:
<?php $array = array( array('a'=>1, 'b'=>2, 'c'=>3), array('a'=>4, 'b'=>5, 'c'=>6), array('a'=>7, 'b'=>8, 'c'=>9), ); $remove_key = 'b'; $result = array(); foreach ($array as $row) { $result[] = array_diff_key($row, array($remove_key => '')); } print_r($result); ?>
In the above code, we also create a two-dimensional array containing 3 elements, and then specify the column to be deleted as b, use the array_diff_key function in the loop to calculate the difference set, and The results are added to a new array, and the processed two-dimensional array is finally obtained.
Summary:
Whether you use the unset function, array_map function or array_column and array_diff functions, you can delete specified columns in PHP. Which method to choose depends on the actual business scenario and personal programming habits. In actual development, we can choose the most appropriate method according to needs to improve the efficiency and readability of the code.
The above is the detailed content of Delete specified columns from php two-dimensional array. For more information, please follow other related articles on the PHP Chinese website!