一、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/zh-tw/n/304753.html