Якщо не оголошувати масив перед його використанням, це дійсно може спричинити проблеми. Один досвід, який я щойно знайшов, я назвав цей тестовий сценарій так: indextest.php? File = 1STLSPGTGUS Це працює, як очікувалося.
$path['templates'] = './mytemplates/';
$file['template'] = 'myindex.tpl.php';
$file['otherthing'] = 'otherthing';
$file['iamempty'] = '';
print ("path['templates'] = " . $path['templates'] . "<br>");
print ("file['template'] = " . $file['template'] . "<br>");
print ("file['otherthing'] = " . $file['otherthing'] . "<br>");
print ("file['iamempty'] = " . $file['iamempty'] . "<br>");
print ("file['file'] = " . $file['file'] . "<br>");
print ("file = " . $file);
Тепер мені просто знадобиться файл з іншого скрипту, який я придбав, у верхній частині мого, і ми можемо побачити, як значення абсолютно неправильні для масиву $ file, тоді як масив $ path в порядку: "checkgroup.php" винен.
require_once($_SERVER['DOCUMENT_ROOT']."/IniConfig.php");
$access = "PUBLIC";
require_once(CONFPATH . "include_secure/checkgroup.php");
$path['templates'] = './mytemplates/';
$file['template'] = 'myindex.tpl.php';
$file['otherthing'] = 'otherthing.php';
$file['iamempty'] = '';
print ("path['templates'] = " . $path['templates'] . "<br>");
print ("file['template'] = " . $file['template'] . "<br>");
print ("file['otherthing'] = " . $file['otherthing'] . "<br>");
print ("file['iamempty'] = " . $file['iamempty'] . "<br>");
print ("file['file'] = " . $file['file'] . "<br>");
print ("file = " . $file);
Ініціалізація масиву раніше, тоді не проблема!
require_once($_SERVER['DOCUMENT_ROOT']."/IniConfig.php");
$access = "PUBLIC";
require_once(CONFPATH . "include_secure/checkgroup.php");
$path = array();
$file = array();
$path['templates'] = './mytemplates/';
$file['template'] = 'myindex.tpl.php';
$file['otherthing'] = 'otherthing.php';
$file['iamempty'] = '';
print ("path['templates'] = " . $path['templates'] . "<br>");
print ("file['template'] = " . $file['template'] . "<br>");
print ("file['otherthing'] = " . $file['otherthing'] . "<br>");
print ("file['iamempty'] = " . $file['iamempty'] . "<br>");
print ("file['file'] = " . $file['file'] . "<br>");
print ("file = " . $file);
Ось так я зрозумів, наскільки важливо ініціалізувати змінні, оскільки ми ніколи не знаємо, з якою проблемою ми можемо опинитися пізніше, і просто для того, щоб заощадити час, ми в кінцевому підсумку можемо витратити ще більше. Сподіваюся, це буде корисним для таких, як я, хто не є професіоналом.
$foo = array()
і що це не був рядок, перетворений на масив тощо).