PHP эхо, если это условие - PullRequest
       12

PHP эхо, если это условие

0 голосов
/ 10 февраля 2019

У меня есть несколько файлов с именами, такими как: fileONE-13 и fileFive-22 и т. Д. Я пытаюсь создать php-код, который выполняет следующее: если что-то до последнего - = fileONE-, то что-то выводит, а есличто бы до последнего - = fileFive-, затем повторить что-то еще ... и т. д.

Однако то, что я имею до сих пор, только повторяет только первое, даже если bookname отличается.

<?php
$filename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);
$chapterNo = substr(strrchr($filename, "-"), 1, 2); 
$bookname = substr($filename, 0, strrpos($filename, '-'));


if      ($bookname = "fileONE-") { echo "This is File 1 - $chapterNo"; }
elseif  ($bookname = "fileFive-") { echo "This is File 5 - $chapterNo"; }
?>

Я тоже пытался с $bookname == "fileONE-" т. Д.но это ничего не сделало.

Ответы [ 2 ]

0 голосов
/ 10 февраля 2019

Учитывая ваш пример "fileONE-13", strrpos($filename, '-') возвращает 7, поэтому, когда вы устанавливаете $bookname, вы, по сути, говорите: "получить первые 7 символов из $filename, начиная с позиции 0".Другими словами, он не будет включать -, который вы проверяете в операторах if.

PHP также использует ==, а не = для сравнения.Как уже указывал siggi_pop, if ($bookname = "fileONE-") будет всегда возвращать true при переназначении $bookname.

Ваши операторы if должны выглядеть примерно так:

if      ($bookname == "fileONE") { echo "This is File 1 - $chapterNo"; }
elseif  ($bookname == "fileFive") { echo "This is File 5 - $chapterNo"; }
0 голосов
/ 10 февраля 2019

Вы приехали из VB?:) В PHP и других приложениях вы тестируете с помощью == not = Итак, что вы сделали, так это присвоили "fileONE-" переменной $ bookname.так в основном

 if ("fileONE-") { //code }

Что верно.Сделайте эти изменения:

if      ($bookname == "fileONE-") { echo "This is File 1 - $chapterNo"; }
elseif  ($bookname == "fileFive-") { echo "This is File 5 - $chapterNo"; }
...