Проясняется. То есть случайный скрипт, считывает один случайный текстовый документ? Это не нужно разбивать. В одном элементе массива содержится один путь к случайному скрипту. Запуская print_r вы просто выводите неотформатированное представление массива.
Да, один случайный не текстовый документ а файл php --- Добавлено --- если я вывожу include($slice[0]); include($slice[1]); Выводится только один файл, а почему не понятно
Ладно, сдаюсь. Извините, не смогу помочь. Не понимаю что вы хотите сделать. Возможно как-то влияет содержимое этих скриптов. Попробуйте сформулировать задачу заново. Своими словами. С примерами постов.
Смотрите, у нас есть один посты, который содержит в себе массив: Код (Text): array('category1' => $postCategory1, 'category2' => $postCategory2, 'category3' => $postCategory3, 'category4' => $postCategory4, 'name' => $postName, 'subtitle' => $postSubtitle, 'title' => $postTitle, 'date' => $postDate); Эти данные берутся из файла в каталоге posts/какой-тофайл.php И мне нужно вывести 2 случайных файла через include Сам скрипт: Код (Text): $phpFiles = glob('posts/*.php'); shuffle($phpFiles); $slice = array_slice ($phpFiles, -2); Вызывает массив который мне нужен, где $slice[0] это один файл, а $slice[1] это другой Но проблема сейчас заключается в следующем, при выводе через include($slice[0]); include($slice[1]); выводится лишь один файл, а нужно чтобы выводилось оба, как и есть в массиве
Понятно. То есть оба файла содержат одинаковые массивы, с одинаковыми ключами, но разными значениями. И второй, просто накладывается на первый. Это примерно как Код (Text): $var = 1; $var = 2; echo $var; // выведет 2
$var = $slice[0]; $var = $slice[1]; include($var); ? --- Добавлено --- так, это мы выяснили, а как их разбить чтобы выводило сразу оба?
Чтобы ваш код заработал как вы хотите нужно сделать примерно так Код (Text): $var = 1; echo $var; // выведет 1 $var = 2; echo $var; // выведет 2
Код (Text): $slice = array_slice ($phpFiles, -1); include($slice[0]); $sliceone = array_slice ($phpFiles, -2); include($sliceone[1]); ?
PHP: $sliceone = array_slice ($phpFiles, -2); include($sliceone[0]); //здесь обработка массива из $sliceone[0] include($sliceone[1]); //здесь обработка массива из $sliceone[1]
1. Код (Text): <?php $postCategory1=''; $postCategory2=''; $postCategory3=''; $postCategory4=''; $postName='1111'; $postSubtitle='![](Сссылка на обложку скобки и '![]' не трогать)'; $postTitle='123'; $postContent='123'; $postDate=1611660591; ?> Остальные идинтичные только postName postTitle и postContent отличается, другие цифры --- Добавлено --- В общем решил проблему тем что создал два одинаковых скрипта в одном файле, спасибо за помощь!
PHP: <?php $phpFiles = glob('posts/*.php'); shuffle($phpFiles); $slice = array_slice ($phpFiles, -2); echo '<pre>'; foreach($slice as $value) { include $value; echo $postCategory1; echo $postCategory2.'<br>'; echo $postCategory3.'<br>'; echo $postCategory4.'<br>'; echo $postName.'<br>'; echo $postSubtitle.'<br>'; echo $postTitle.'<br>'; echo $postContent.'<br>'; echo $postDate.'<br>'; echo '<br>'; } ?>