我一想閱讀PDF檔案使用這個庫\Smalot\PdfParser\Parser();中laravel 5.6
我的所有內容都正常,但我有這個:
Array
(
[0] => MARTIN CARRILLO MARIA ESMERALDA ALHAMBRA 10 958 54 38 93
[1] => ESPIGARES DIAS JOSE ANTONIO ALHAMBRA 11 958 54 33 32
[2] => GUTIERREZ TITOS JOSE MANUEL ALHAMBRA 12 958 54 04 10
[3] => MARTIN COBOS ANTONIO ALHAMBRA 18 958 54 33 28
[4] => GOMEZ CARRILLO JOSE ALHAMBRA 20 958 54 32 72
[5] => RODRIGUEZ RUANO BUENAVENTURA ALHAMBRA 21 958 54 35 86
[6] => GARCIA ARIAS MARIA ISABEL ALHAMBRA 22 958 54 07 87
[7] => RODRIGUEZ JIMENEZ MIGUEL ALHAMBRA 27 958 54 08 77
[8] => GUTIERREZ FERNANDEZ AMANDA HILDA ALHAMBRA 3 958 49 98 62
[9] => DIAZ FLORIAN DOLORES ALHAMBRA 30 958 54 33 99
[10] => PEREZ LASTRA SAUL ADAN ALHAMBRA 32 958 54 31 46
[11] => AMIGO MOLINA MARIA MATILDE ALHAMBRA 35 958 54 31 91
[12] => ESPIGARES GOMEZ JORGE ALHAMBRA 37 958 54 02 22
[13] => ESPIGARES ESPIGARES JOSE ALHAMBRA 40 958 54 31 83
但我需要從這些字串中獲取第二個姓氏、姓氏、姓名、地址和電話……我想我可以獲得所有資料計數空格。
我正在嘗試這個:
// loop to get data line
foreach($dataByLine as &$line){
// delete first element in string
$cleanString = substr($line, 0, 7);
$line = str_replace($cleanString, "", $line);
$line = preg_replace('/^[\d] /','',$line);
//$line = ltrim($line,"0123456789");
$stringDivide = preg_split('/\s /', $line, -1, PREG_SPLIT_NO_EMPTY);
//array_push($secondSurnameArray, $stringDivide[0]);
array_push($dataList, $line);
}
print_r($dataList);
但是這個回報:
Array
(
[0] => MARTIN
[1] => CARRILLO
[2] => MARIA
[3] => ESMERALDA
[4] => ALHAMBRA
[5] => 10
[6] => 958
[7] => 54
[8] => 38
[9] => 93
)
Array
(
[0] => ESPIGARES
[1] => DIAS
[2] => JOSE
[3] => ANTONIO
[4] => ALHAMBRA
[5] => 11
[6] => 958
[7] => 54
[8] => 33
[9] => 32
)
Array
(
[0] => GUTIERREZ
[1] => TITOS
[2] => JOSE
[3] => MANUEL
[4] => ALHAMBRA
[5] => 12
[6] => 958
[7] => 54
[8] => 04
[9] => 10
)
例如,但如果我這樣做:
array_push($secondSurnameArray, $stringDivide[0]);
這將回傳索引 0 未定義。
我需要這些資料來創建一個陣列來創建插入查詢。
感謝您幫助我,閱讀我并為我的英語感到抱歉。
更新
我希望這:
$secondSurname = ['MARTIN', 'ESPIGARES', 'GUTIERREZ'....etc]
$surname = ['CARRILLO', 'DIAS', 'TITOS', .....etc]
$name = ['JOSE', 'JOSE', 'ANTONIO']
$addres = ['ALHAMBRA 10', 'ALHAMBRA 11', 'ALHAMBRA 12', etc]
$phone = ['958 54 38 93', '958 54 33 32', '958 54 04 10']
在我需要進行陣列合并$secondSurname, $surname and $name以進行插入查詢之后
uj5u.com熱心網友回復:
如果有 2 個姓氏,我假設您正在嘗試洗掉其他姓氏,以便在回圈中輕松完成。
合并構成電話號碼的部分也可以簡單地在那里完成。
$dataByLine = [
'MARTIN CARRILLO MARIA ESMERALDA ALHAMBRA 10 958 54 38 93',
'ESPIGARES DIAS JOSE ANTONIO ALHAMBRA 11 958 54 33 32',
'GUTIERREZ TITOS JOSE MANUEL ALHAMBRA 12 958 54 04 10',
'MARTIN COBOS ANTONIO ALHAMBRA 18 958 54 33 28',
'GOMEZ CARRILLO JOSE ALHAMBRA 20 958 54 32 72',
'RODRIGUEZ RUANO BUENAVENTURA ALHAMBRA 21 958 54 35 86',
'GARCIA ARIAS MARIA ISABEL ALHAMBRA 22 958 54 07 87',
'RODRIGUEZ JIMENEZ MIGUEL ALHAMBRA 27 958 54 08 77',
'GUTIERREZ FERNANDEZ AMANDA HILDA ALHAMBRA 3 958 49 98 62',
'DIAZ FLORIAN DOLORES ALHAMBRA 30 958 54 33 99',
'PEREZ LASTRA SAUL ADAN ALHAMBRA 32 958 54 31 46',
'AMIGO MOLINA MARIA MATILDE ALHAMBRA 35 958 54 31 91',
'ESPIGARES GOMEZ JORGE ALHAMBRA 37 958 54 02 22',
'ESPIGARES ESPIGARES JOSE ALHAMBRA 40 958 54 31 83'
];
$secondSurname = [];
$surname = [];
$name = [];
$address = [];
$phone = [];
foreach($dataByLine as $line){
$t = explode(' ', $line); # make array from string using space as seperator
// fix double surname issue
if ( count($t) == 10 ){
// we have a line with a double surname
array_shift($t); # drop the first name in list
}
$secondSurname[] = $t[0];
$surname[] = $t[1];
$name[] = $t[2];
$address[] = $t[3];
$phone[] = $t[4] . $t[5] . $t[6] . $t[7] . $t[8];
# you can add space and or `-` into the phone if you like
}
echo 'SecondSurnames ';
print_r($secondSurname);
echo 'Surnames ';
print_r($surname);
echo 'names ';
print_r($name);
echo 'address ';
print_r($address);
echo 'phone ';
print_r($phone);
結果
SecondSurnames Array
(
[0] => CARRILLO
[1] => DIAS
[2] => TITOS
[3] => MARTIN
[4] => GOMEZ
[5] => RODRIGUEZ
[6] => ARIAS
[7] => RODRIGUEZ
[8] => FERNANDEZ
[9] => DIAZ
[10] => LASTRA
[11] => MOLINA
[12] => ESPIGARES
[13] => ESPIGARES
)
Surnames Array
(
[0] => MARIA
[1] => JOSE
[2] => JOSE
[3] => COBOS
[4] => CARRILLO
[5] => RUANO
[6] => MARIA
[7] => JIMENEZ
[8] => AMANDA
[9] => FLORIAN
[10] => SAUL
[11] => MARIA
[12] => GOMEZ
[13] => ESPIGARES
)
names Array
(
[0] => ESMERALDA
[1] => ANTONIO
[2] => MANUEL
[3] => ANTONIO
[4] => JOSE
[5] => BUENAVENTURA
[6] => ISABEL
[7] => MIGUEL
[8] => HILDA
[9] => DOLORES
[10] => ADAN
[11] => MATILDE
[12] => JORGE
[13] => JOSE
)
address Array
(
[0] => ALHAMBRA
[1] => ALHAMBRA
[2] => ALHAMBRA
[3] => ALHAMBRA
[4] => ALHAMBRA
[5] => ALHAMBRA
[6] => ALHAMBRA
[7] => ALHAMBRA
[8] => ALHAMBRA
[9] => ALHAMBRA
[10] => ALHAMBRA
[11] => ALHAMBRA
[12] => ALHAMBRA
[13] => ALHAMBRA
)
phone Array
(
[0] => 10958543893
[1] => 11958543332
[2] => 12958540410
[3] => 18958543328
[4] => 20958543272
[5] => 21958543586
[6] => 22958540787
[7] => 27958540877
[8] => 3958499862
[9] => 30958543399
[10] => 32958543146
[11] => 35958543191
[12] => 37958540222
[13] => 40958543183
)
注意:我不確定這些單獨的陣列是否真的是傳遞給查詢系結的最佳解決方案,這就是我要求查看查詢的原因。擁有一個每個人出現一次的單個陣列可能更有意義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/356540.html
