Я работаю с моим простым проектом, который получает имя переменной из другого php файла. Некоторые переменные имеют одинаковое значение.
Я использовал foreach для отображения переменных в разных php файлах в определенном каталоге.
(1st app_config.php) $app_name = "Pass Generator";
(2nd app_config.php) $app_name = "Random Name Generator";
(3rd app_config.php) $app_name = "Love Meter";
(4th app_config.php) $app_name = "Random Name Generator";
(5th app_config.php) $app_name = "Lucky Number Generator";
Поскольку моя вторая и четвертая переменные $ app_name имеют одинаковое значение, как я могу пропустить один из них. Таким образом, выход будет:
Pass Generator
Random Name Generator
Love Meter
Lucky Number Generator
Это мой код:
$path = '../../apps/' . $name[0];
$results = scandir($path);
foreach ($results as $result) {
if ($result === '.' or $result === '..') continue;
if (is_dir($path . '/' . $result)) {
require_once("../../apps/".$result."/app_config.php");
$app .= $app_name."<Br>";
}
}
echo $app_name;
Кто угодно? благодаря
В качестве альтернативы вы можете собрать их внутри массива, затем вставить/склеить их с помощью linebreak:
$path = '../../apps/' . $name[0];
$results = scandir($path);
$apps = array();
foreach ($results as $result) {
if ($result === '.' or $result === '..') continue;
if (is_dir($path . '/' . $result)) {
require_once("../../apps/".$result."/app_config.php");
$apps[$app_name] = null;
}
}
echo implode('<br/>', array_keys($apps));
Или другой вариант:
if (is_dir($path . '/' . $result)) {
require_once("../../apps/".$result."/app_config.php");
$apps[] = $app_name;
}
}
echo implode('<br/>', array_unique($apps));
<br>
не <br/>
:-)
$path = '../../apps/' . $name[0];
$results = scandir($path);
$arrProcessed = array();
foreach ($results as $result) {
if ($result === '.' or $result === '..' or array_key_exists($result, $arrProcessed)) continue;
$arrProcessed[$result] = true;
if (is_dir($path . '/' . $result)) {
require_once("../../apps/".$result."/app_config.php");
$app .= $app_name."<Br>";
}
}
echo $app_name;