Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 19.03.2013
Сообщений: 20
1

Проверка совпадения строк не работает

07.11.2016, 11:31. Показов 1160. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Я работаю на CMS Modx.
Я хочу сделать так, чтобы при переходе на имя_сайта.рф/имя_документа.pdf
открывался документ в браузере
Для этого я сделал вот такой скрипт (тестировочный):

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$props = array(
    'album' => 40,
    'thumbTpl' => 'EmptyThumbTpl',
);
$docs = substr($modx->runsnippet('Gallery', $props), 0, -1);
//$str = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$str = "/asd.doc";
 
$doc = explode(",",$docs);
 
foreach($doc as $col)
{
    /*$doc - ассоциативный массив. Перебираем каждую пару, разделённую "=>"*/
    $cols_arr = explode("=>", $col);
    /*
    *  В массиве $doc 3 элемента, и поэтому выводятся данные каждой пары в массиве $doc
    *  $cols_arr => array(2) { [0]=> string(9) "'asd.doc'" [1]=> string(28) "'/assets/gallery/40/297.doc'" } ...
    *  $cols_arr[0] => string(9) "'asd.doc'" ...
    *  stristr($str, 'asd.doc') => string(7) "asd.doc" 
    *  stristr($cols_arr[0], 'asd.doc') => string(8) "asd.doc'"
    *  stristr($str, $cols_arr[0]) => bool(false)
    */
    if(strpos($str, $cols_arr[0])){
        print('Yes');
    }
}
Подскажите пожалуйста, почему stristr($str, $cols_arr[0]) => bool(false)?
Ведь и $str, и $cols_arr[0] - строки, содержащие "asd.doc". Значит, это выражение должно дать true.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2016, 11:31
Ответы с готовыми решениями:

Проверка строк на совпадения
Друзья имеется 2 таблицы , пример : 1 лист - 20 30 40 30 20 11 10 30 20 2 лист - ...

Проверка совпадения строк
Пишет Fail, что я делаю не так?) #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;Windows.h&gt; ...

Как удалить совпадения строк в txt файле (полная копия строк)
К примеру есть текст в обычном txt файлике: 11111 11111 22222 33333 33333 44444 55555

Не работает проверка строк
Работаю в среде DEV C++, и не могу понять что неправильно. Пробовал вместо string ставить массив...

3
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
07.11.2016, 11:47 2
Лучший ответ Сообщение было отмечено FitzgeraldFox как решение

Решение

$cols_arr[0] содержит одинарные кавычки, которых нет в $str, поэтому эта подстрока в $str не находится и возвращается false
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
07.11.2016, 11:49 3
Цитата Сообщение от FitzgeraldFox Посмотреть сообщение
PHP
1
// $cols_arr[0] => string(9) "'asd.doc'" ...
Кавычки одинарные, их нет в $str
0
1 / 1 / 0
Регистрация: 19.03.2013
Сообщений: 20
07.11.2016, 11:57  [ТС] 4
Всё, спасибо
0
07.11.2016, 11:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2016, 11:57
Помогаю со студенческими работами здесь

Проверка массива на совпадения
у меня есть массив в котором содержаться имена. мне надо убрать имена которые повторяются. сделал...

Проверка столбцов на совпадения
Добрый день, помогите как решить данную задачу Есть одна таблица в которой много столбцов и...

Массив. Проверка совпадения
Требуется программа, реализующая следущее: есть массив римских чисел мы вводим римское число...

Проверка списка на совпадения
помогите пожалуйста с задачей:sigh: Составить программу ,которая проверяет ,есть ли в списке L...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru