一、Excel数组取值函数大全
Excel表格是一种非常普遍使用的文档格式,而有时我们可能需要将表格中的数据导入到PHP的程序中进行处理。PHP提供了一系列的数组函数来处理Excel表格中的数据,让我们来详细了解一下。
1. excel_get_cell()
这个函数可以获取Excel表格中指定单元格的数据,其参数为Excel表格的文件名、工作表的名称(可选)、列编号和行编号。示例代码如下:
function excel_get_cell($filename, $sheetname, $col, $row) { $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx'); $spreadsheet = $reader->load($filename); $worksheet = $spreadsheet->getSheetByName($sheetname); $cell = $worksheet->getCellByColumnAndRow($col, $row); return $cell->getValue(); }
2. excel_get_column()
这个函数可以获取Excel表格中指定列的数据,其参数为Excel表格的文件名、工作表的名称(可选)和列编号。示例代码如下:
function excel_get_column($filename, $sheetname, $col) { $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx'); $spreadsheet = $reader->load($filename); $worksheet = $spreadsheet->getSheetByName($sheetname); $column = array(); foreach ($worksheet->getRowIterator() as $row) { $cell = $worksheet->getCellByColumnAndRow($col, $row->getRowIndex()); $column[] = $cell->getValue(); } return $column; }
3. excel_get_row()
这个函数可以获取Excel表格中指定行的数据,其参数为Excel表格的文件名、工作表的名称(可选)和行编号。示例代码如下:
function excel_get_row($filename, $sheetname, $row) { $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx'); $spreadsheet = $reader->load($filename); $worksheet = $spreadsheet->getSheetByName($sheetname); $rowdata = array(); foreach ($worksheet->getColumnIterator() as $column) { $cell = $worksheet->getCell($column->getColumnIndex() . $row); $rowdata[] = $cell->getValue(); } return $rowdata; }
二、数组排序函数大全
数组排序是编程中常用的操作之一,PHP提供了多种数组排序函数实现不同的排序方式,让我们来看一下PHP数组排序函数大全。
1. sort()
这个函数可以对数组按照升序进行排序,排序后数组的键名保持不变,示例代码如下:
$fruits = array("lemon", "orange", "banana", "apple"); sort($fruits); print_r($fruits);
输出结果:
Array ( [0] => apple [1] => banana [2] => lemon [3] => orange )
2. rsort()
这个函数可以对数组按照降序进行排序,排序后数组的键名保持不变,示例代码如下:
$fruits = array("lemon", "orange", "banana", "apple"); rsort($fruits); print_r($fruits);
输出结果:
Array ( [0] => orange [1] => lemon [2] => banana [3] => apple )
3. asort()
这个函数可以对数组按照升序进行排序,排序后数组的键名也会跟着重新排序,示例代码如下:
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); asort($age); print_r($age);
输出结果:
Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )
4. arsort()
这个函数可以对数组按照降序进行排序,排序后数组的键名也会跟着重新排序,示例代码如下:
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); arsort($age); print_r($age);
输出结果:
Array ( [Joe] => 43 [Ben] => 37 [Peter] => 35 )
5. ksort()
这个函数可以对数组按照键名进行升序排序,示例代码如下:
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); ksort($age); print_r($age);
输出结果:
Array ( [Ben] => 37 [Joe] => 43 [Peter] => 35 )
6. krsort()
这个函数可以对数组按照键名进行降序排序,示例代码如下:
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); krsort($age); print_r($age);
输出结果:
Array ( [Peter] => 35 [Joe] => 43 [Ben] => 37 )
三、数组操作函数大全
PHP提供了许多数组操作函数,包括对数组进行添加、删除、修改等各种操作,下面我们就来一一介绍。
1. array_push()
这个函数可以向数组的末尾添加一个或多个元素,示例代码如下:
$stack = array("orange", "banana"); array_push($stack, "apple", "raspberry"); print_r($stack);
输出结果:
Array ( [0] => orange [1] => banana [2] => apple [3] => raspberry )
2. array_pop()
这个函数可以删除数组末尾的一个元素,示例代码如下:
$stack = array("orange", "banana", "apple", "raspberry"); $fruit = array_pop($stack); print_r($stack); echo "Deleted fruit: " . $fruit;
输出结果:
Array ( [0] => orange [1] => banana [2] => apple ) Deleted fruit: raspberry
3. array_shift()
这个函数可以删除数组开头的一个元素,示例代码如下:
$queue = array("orange", "banana", "apple", "raspberry"); $fruit = array_shift($queue); print_r($queue); echo "Deleted fruit: " . $fruit;
输出结果:
Array ( [0] => banana [1] => apple [2] => raspberry ) Deleted fruit: orange
4. array_unshift()
这个函数可以在数组开头添加一个或多个元素,示例代码如下:
$queue = array("orange", "banana"); array_unshift($queue, "apple", "raspberry"); print_r($queue);
输出结果:
Array ( [0] => apple [1] => raspberry [2] => orange [3] => banana )
5. array_splice()
这个函数可以从数组中删除一段元素,并在删除位置插入新的元素,示例代码如下:
$fruits = array("apple", "banana", "cherry", "dates", "eggfruit"); array_splice($fruits, 2, 2, array("pineapple", "grape")); print_r($fruits);
输出结果:
Array ( [0] => apple [1] => banana [2] => pineapple [3] => grape [4] => eggfruit )
以上就是PHP数组函数大全的详细介绍,掌握这些函数,相信你对PHP数组的使用能更加得心应手。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/304753.html