一、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-hk/n/304753.html
微信掃一掃
支付寶掃一掃