ΠΠΌΠΏΠΎΡΡ EXCEL ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² PHP7.4,
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅-> ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ():
ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° int.
ΠΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» xlsx, ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΊΠΎΠ΄ Π½Π° php72w
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:
ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ Π·Π°Π³ΡΡΠ·ΠΈΠ» ΡΠ²ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ Ρ php7.2 Π½Π° php7.4, ΠΊΠΎΠ³Π΄Π° Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡ Excel, ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠ±ΠΎΠΉ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅.
Π±ΡΠ»ΠΎ Π±Ρ ΡΠ½ΠΎΠ²Π° Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ Ρ ΠΏΠΎΠ½ΠΈΠ·ΠΈΠ»ΡΡ Ρ php7.4 Π΄ΠΎ php7.2.
$extension=$request->file()['file']->getClientOriginalExtension();
$extension[0] = strtoupper($extension[0]);
Excel::import(new RejectedImport(), $request->file()['file']->path(),null,$extension);
Π ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠ°:
<?php
namespace App\Imports;
use App\Commodity;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class CommodityImport implements ToCollection, WithHeadingRow
{
protected $isOverride=false;
public function __construct($isOverride)
{
if($isOverride=='1')
$this->isOverride=true;
}
/**
* <strong i="26">@param</strong> Collection $collections
*/
public function collection(Collection $collections)
{
foreach ($collections as $row)
{
$barcode = $row['barcode'] ?? $row['BARCODE'] ?? $row['Barcode'];
if(!$barcode)continue;
$name = $row['name'] ?? $row['NAME'] ?? $row['Name'] ?? '';
$sku = $row['sku'] ?? $row['SKU'] ?? $row['Sku'] ?? '';
$owner = $row['owner'] ?? $row['owner_name'] ?? $row['OWNER'] ?? $row['Owner'] ?? '';
$commodity=Commodity::where('barcode',$row['barcode'])->first();
if($commodity){
if($this->isOverride){
$name?$commodity['name']= $name:false;
$sku?$commodity['sku']= $sku:false;
$owner?$commodity['owner_name']= $owner:false;
$commodity->update();
}
}else{
Commodity::create([
'name' => $name,
'sku' => $sku,
'owner_name' => $owner,
'barcode' => $barcode,
]);
}
}
}
}
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΡΠΈΠΊΠ΅ΡΠ°. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π²Π°ΠΌΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊΡΡ Π²Π΅ΡΡΠΈΡ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ Π·Π°Π±ΡΠ°ΡΡ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ (https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/ISSUE_TEMPLATE.md) ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π§ΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ (https://laravel-excel.maatwebsite.nl/3.1/getting-started/contributing.html) ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π»ΠΈ Π²Ρ ΡΠ°Π±Π»ΠΎΠ½ Π·Π°Π΄Π°ΡΠΈ. ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ Π·Π°Π±ΡΠ°ΡΡ Π²Π°Ρ Π±ΠΈΠ»Π΅Ρ. ΠΠΎΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ, Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ Π½Π°Π΄ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ.
ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ stacktrace, Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π° PHP7.4. ΠΠΎΠΆΠ΅Ρ ΡΡΠΎ ΡΡΠΎ-ΡΠΎ Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅?
ΠΡΠΈΠ²Π΅Ρ, @patrickbrouwers, ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΏΠ°ΠΊΠ΅Ρ, Ρ Π΅Π³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊ!
Π― ΠΏΠΎΠ»ΡΡΠ°Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Ρ ΠΎΡΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΊΡΠΏΠΎΡΡΠ°, ΠΈ stacktrace ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ²ΡΠ·Π°Π½Π° Ρ phpsreadsheet, Π° Π½Π΅ Ρ Laravel-Excel, Π½ΠΎ Google ΠΏΡΠΈΠ²Π΅Π» ΠΌΠ΅Π½Ρ ΡΡΠ΄Π°.
ΠΠΎΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ΅ΠΊΠ°:
#0 /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DefaultValueBinder.php(56): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError()
#1 /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DefaultValueBinder.php(34): PhpOffice\\PhpSpreadsheet\\Cell\\DefaultValueBinder::dataTypeForValue()
#2 /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php(184): PhpOffice\\PhpSpreadsheet\\Cell\\DefaultValueBinder->bindValue()
#3 /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Worksheet.php(2510): PhpOffice\\PhpSpreadsheet\\Cell\\Cell->setValue()
#4 /vendor/maatwebsite/excel/src/Sheet.php(402): PhpOffice\\PhpSpreadsheet\\Worksheet\\Worksheet->fromArray()
#5 /vendor/maatwebsite/excel/src/Sheet.php(502): Maatwebsite\\Excel\\Sheet->append()
#6 /vendor/maatwebsite/excel/src/Sheet.php(368): Maatwebsite\\Excel\\Sheet->appendRows()
#7 /vendor/maatwebsite/excel/src/Sheet.php(195): Maatwebsite\\Excel\\Sheet->fromCollection()
#8 /vendor/maatwebsite/excel/src/Writer.php(73): Maatwebsite\\Excel\\Sheet->export()
#9 /vendor/maatwebsite/excel/src/Excel.php(176): Maatwebsite\\Excel\\Writer->export()
#10 /vendor/maatwebsite/excel/src/Excel.php(97): Maatwebsite\\Excel\\Excel->export()
#11 /app/Console/Commands/EmailCardRequestList.php(89): Maatwebsite\\Excel\\Excel->store()
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π² PhpSpreadsheet, ΡΠΌ. Https://github.com/PHPOffice/PhpSpreadsheet/issues/1300
Π ΡΠ°ΠΉΠ»Π΅ PHPExcel "DefaultValueBinder.php" Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΡ ΡΡΡΠΎΠΊΡ 82:
} elseif ($ pValue [0] === '=' && strlen ($ pValue)> 1) {
ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
ΠΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ Β«ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° intΒ». ΠΠΎ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΈΠ³ΡΡΠ½ΡΡ
ΡΠΊΠΎΠ±ΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ PHPExcel, ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Β«Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π»Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ PHP Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 7.4. Π― ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΈΡ
Π½Π° "[" ΠΈ "]" Π²Π΅Π·Π΄Π΅, ΠΈ Π²ΡΠ΅ ΡΠ½ΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
DefaultValueBinder.php Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ°? ΠΈΠ»ΠΈ Π³Π΄Π΅ ΡΡΠΎ? ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ.
DefaultValueBinder.php Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ°? ΠΈΠ»ΠΈ Π³Π΄Π΅ ΡΡΠΎ? ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ.
ΠΠΎΠΈ ΠΈΠ·Π²ΠΈΠ½Π΅Π½ΠΈΡ. Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ. Π ΠΌΠΎΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΎΠ½ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ PHPExcel ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π°Π΄ΡΠ΅ΡΡ: PHPExcel \ Cell \ DefaultValueBinder.php
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΠΎ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
Π»ΠΈΠ½ΠΈΡ, Ρ Π΄ΡΠΌΠ°Ρ, 62, Π° Π½Π΅ 82 ΠΌΠΎΠΉ Π΄ΡΡΠ³! ΠΈ Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ Π½Π΅ΡΠ²Π½ΠΈΡΠ°Ρ. Π― Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅: ΠΡΠΈΠ±ΠΊΠ° ΠΠ¨ΠΠΠΠ: ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° int '/ Cell / DefaultValueBinder. php: 56 '. Π― ΠΎΡΠ΅Π½Ρ Π½Π°Π΄Π΅ΡΡΡ!
ΠΡΠΎ ΠΏΡΡΡ: third_party / PHPExcel / Classes / PHPExcel / Cell / DefaultValueBinder.php
ΠΠ΄Π΅ΡΡ third_party ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, Π³Π΄Π΅ Π²Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΠ»ΠΈ ΡΠ²ΠΎΡ ΠΏΠ°ΠΏΠΊΡ PHPExcel.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ === '=' ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π΅ΡΡΡ Π»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π΅ Π½Π°
0 === strpos ($ pValue, '=')
ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ Π±ΡΠ»ΠΈ Π±Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅. Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π±ΡΠ»ΠΎ
$ pValue [0] === '='
Π ΡΠ°ΠΉΠ»Π΅ PHPExcel "DefaultValueBinder.php" Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΡ ΡΡΡΠΎΠΊΡ 82:
} elseif ($ pValue [0] === '=' && strlen ($ pValue)> 1) {
ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
ΠΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ Β«ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° intΒ». ΠΠΎ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ PHPExcel, ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Β«Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π»Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ PHP Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 7.4. Π― ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΈΡ Π½Π° "[" ΠΈ "]" Π²Π΅Π·Π΄Π΅, ΠΈ Π²ΡΠ΅ ΡΠ½ΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ! Π»ΡΠ±Π»Ρ Π²Π°Ρ!
Π ΡΠ°ΠΉΠ»Π΅ PHPExcel "DefaultValueBinder.php" Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΡ ΡΡΡΠΎΠΊΡ 82:
} elseif ($ pValue [0] === '=' && strlen ($ pValue)> 1) {
ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
ΠΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ Β«ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° intΒ». ΠΠΎ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ PHPExcel, ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Β«Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π»Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ PHP Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 7.4. Π― ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΈΡ Π½Π° "[" ΠΈ "]" Π²Π΅Π·Π΄Π΅, ΠΈ Π²ΡΠ΅ ΡΠ½ΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
ΠΠΎΠ³Π΄Π° Ρ ΠΏΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ» Π½Π° PHP 7.3, ΡΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΌΡΠΆΠΈΠΊ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΠΌΠ½Π΅.
ΠΡΡΡ ΠΈΠ΄Π΅ΠΈ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PHP 7.4.3 ΠΈ maatwebsite / excel Π²Π΅ΡΡΠΈΠΈ 2.1?
ΠΠ°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°Π·Π²Π΅ΡΠ²Π»ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ phpexcel ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΠΈΠ»ΠΊΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
} elseif (0 === strpos($pValue, '=') && strlen($pValue) > 1) {
strpos of bool, rly?
ΠΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π² is_bool ΠΈ is_float
ΠΠΎΠ΄ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ PhpExcel.
Π ΡΠ°ΠΉΠ»Π΅ PHPExcel "DefaultValueBinder.php" Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΡ ΡΡΡΠΎΠΊΡ 82:
} elseif ($ pValue [0] === '=' && strlen ($ pValue)> 1) {
ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
ΠΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ Β«ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° intΒ». ΠΠΎ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ PHPExcel, ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Β«Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π»Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ PHP Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 7.4. Π― ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΈΡ Π½Π° "[" ΠΈ "]" Π²Π΅Π·Π΄Π΅, ΠΈ Π²ΡΠ΅ ΡΠ½ΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΠΌΡΠΆΠΈΠΊ. ΠΡΠ΅Π½Ρ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ @burello <3
ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ PHPOffice/PhpSpreadsheet
Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²ΡΡΠ΅ 1,10, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ³Π΄Π° ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ββΠ±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΡΡΠ½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°. Π’Π°ΠΊ ΡΡΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ
composer require phpoffice/phpspreadsheet "^1.10"
ΠΈΡΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Ρ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ Π΅ΡΡΡ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ°
ΡΠΆΠ΅ Π½Π΅Π²Π΅ΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ
Π ΡΠ°ΠΉΠ»Π΅ PHPExcel "DefaultValueBinder.php" Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΡ ΡΡΡΠΎΠΊΡ 82:
} elseif ($ pValue [0] === '=' && strlen ($ pValue)> 1) {
ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
ΠΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ Β«ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° intΒ». ΠΠΎ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ PHPExcel, ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Β«Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π»Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ PHP Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 7.4. Π― ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΈΡ Π½Π° "[" ΠΈ "]" Π²Π΅Π·Π΄Π΅, ΠΈ Π²ΡΠ΅ ΡΠ½ΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΠ°Π±ΠΎΡΡ !! orderimportexport.ocmod opencart 3x
Π ΡΠ°ΠΉΠ»Π΅ PHPExcel "DefaultValueBinder.php" Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΡ ΡΡΡΠΎΠΊΡ 82:
} elseif ($ pValue [0] === '=' && strlen ($ pValue)> 1) {
ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
ΠΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ Β«ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° intΒ». ΠΠΎ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΈΠ³ΡΡΠ½ΡΡ
ΡΠΊΠΎΠ±ΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ PHPExcel, ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Β«Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π»Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ PHP Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 7.4. Π― ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΈΡ
Π½Π° "[" ΠΈ "]" Π²Π΅Π·Π΄Π΅, ΠΈ Π²ΡΠ΅ ΡΠ½ΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
Π£Π΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡ ΡΠΏΠ°Ρ ΠΌΠ΅Π½Ρ, Π±ΡΠ°ΡΠ°Π½, Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠ΅Π±Π΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ
Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΡ ΡΡΡΠΎΠΊΡ 82:
} elseif ($ pValue [0] === '=' && strlen ($ pValue)> 1) {
ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΌΠ΅Π½Ρ ...
Π‘ΠΎΠΎΠ±ΡΠ°ΠΉΡΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π² PhpSpreadsheet Π² PhpSpreadsheet.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π ΡΠ°ΠΉΠ»Π΅ PHPExcel "DefaultValueBinder.php" Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΡ ΡΡΡΠΎΠΊΡ 82:
} elseif ($ pValue [0] === '=' && strlen ($ pValue)> 1) {
ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
} elseif (0 === strpos ($ pValue, '=') && strlen ($ pValue)> 1) {
ΠΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ Β«ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° intΒ». ΠΠΎ Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΈ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ PHPExcel, ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Β«Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π»Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ PHP Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 7.4. Π― ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΈΡ Π½Π° "[" ΠΈ "]" Π²Π΅Π·Π΄Π΅, ΠΈ Π²ΡΠ΅ ΡΠ½ΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.