Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > PHP

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 28.08.2004, 13:08
Miravingin вне форума Посмотреть профиль Отправить личное сообщение для Miravingin Посетить домашнюю страницу Miravingin Найти все сообщения от Miravingin
  № 1  
Miravingin
 
Аватар для Miravingin

Регистрация: Jun 2004
Адрес: Moon
Сообщений: 44
По умолчанию Из области философии!

Не могу понять где глюк!? Во мне или PHP?
Программируя очередной скрип, я столкнулся со следующим:
функция strpos() возвращает позицию строки в строке, не так ли? И если этой строки нет в строке то возвращает фолс. Пробовал разные варианты но приведу один из них.

$string="abcdef";
$t=strpos($string,"ab");

if($t>=0){print(substr($string,"dfghj",$t,2));}else{...;}


Так вот выполнялось первое, но как то извращенно: то есть в строрку $string помимо того, что заменялось ab, так еще добавлялся кусок вставляемой строки где-то еще, по не понятной мне логике!
Когда я использовал is_intenger($t) вместо $t>=0, то все получалось!
Вот такое вот явление, и как оно получилось...!?
__________________
Причина и следствие!

Старый 29.08.2004, 12:55
kompadre вне форума Посмотреть профиль Отправить личное сообщение для kompadre Найти все сообщения от kompadre
  № 2  
kompadre
 
Аватар для kompadre

Регистрация: Aug 2001
Адрес: Barcelona
Сообщений: 1,277
Отправить сообщение для kompadre с помощью ICQ
Фолс становится нулём когда твое условие конвертирует его в интегер.

Пиши if (($pos = strpos(...)) !== false) { ...


Последний раз редактировалось kompadre; 29.08.2004 в 12:58.
Старый 29.08.2004, 12:59
nagash вне форума Посмотреть профиль Отправить личное сообщение для nagash Посетить домашнюю страницу nagash Найти все сообщения от nagash
  № 3  
nagash
Ветеран форума
 
Аватар для nagash

Регистрация: Jul 2001
Адрес: Москва
Сообщений: 3,088
Отправить сообщение для nagash с помощью ICQ
jaja
читаем мануалы внимательно внимательно...
иначе никогда не будет счастья
Цитата:
Warning:
This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

Старый 29.08.2004, 13:34
Miravingin вне форума Посмотреть профиль Отправить личное сообщение для Miravingin Посетить домашнюю страницу Miravingin Найти все сообщения от Miravingin
  № 4  
Miravingin
 
Аватар для Miravingin

Регистрация: Jun 2004
Адрес: Moon
Сообщений: 44
Как раз в том то и дело, что php конвертирует фолс в 0, но мне то нужен доступ к 0 символу.
__________________
Причина и следствие!

Старый 29.08.2004, 17:40
nagash вне форума Посмотреть профиль Отправить личное сообщение для nagash Посетить домашнюю страницу nagash Найти все сообщения от nagash
  № 5  
nagash
Ветеран форума
 
Аватар для nagash

Регистрация: Jul 2001
Адрес: Москва
Сообщений: 3,088
Отправить сообщение для nagash с помощью ICQ
ты умеешь читать то, что тебе дали? или ты вырываешь куски и опять нудить начинаешь?
перечитай ещё раз что тебе написали...

Старый 30.08.2004, 19:11
ninja_127 вне форума Посмотреть профиль Отправить личное сообщение для ninja_127 Посетить домашнюю страницу ninja_127 Найти все сообщения от ninja_127
  № 6  
ninja_127
 
Аватар для ninja_127

Регистрация: Jan 2004
Адрес: Москва
Сообщений: 700
Отправить сообщение для ninja_127 с помощью ICQ
Цитата:
Оригинал написал(а) nagash
ты умеешь читать то, что тебе дали? или ты вырываешь куски и опять нудить начинаешь?
перечитай ещё раз что тебе написали...
Ом мани падме хуммммммммм!

Старый 31.08.2004, 02:00
Miravingin вне форума Посмотреть профиль Отправить личное сообщение для Miravingin Посетить домашнюю страницу Miravingin Найти все сообщения от Miravingin
  № 7  
Miravingin
 
Аватар для Miravingin

Регистрация: Jun 2004
Адрес: Moon
Сообщений: 44
Ну скажем так, решение этой проблемы я уже нашел при помощи функции is_int(). И изначала я задавал вопрос про глюк! Про то, что PHP не может отследить 0 позицию подстроки.
__________________
Причина и следствие!

Старый 31.08.2004, 02:47
nagash вне форума Посмотреть профиль Отправить личное сообщение для nagash Посетить домашнюю страницу nagash Найти все сообщения от nagash
  № 8  
nagash
Ветеран форума
 
Аватар для nagash

Регистрация: Jul 2001
Адрес: Москва
Сообщений: 3,088
Отправить сообщение для nagash с помощью ICQ
ты не умеешь читать
ответ в первом ответе на твой вопрос...
пхп всё отлично умеет
а вот ты, нет.

Старый 31.08.2004, 09:27
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 9  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Оригинал написал(а) Miravingin
Ну скажем так, решение этой проблемы я уже нашел при помощи функции is_int().
А лучше бы купил себе букварь. Читай по слогам: "Use the === operator for testing the return value of this function."
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 31.08.2004, 13:52
Miravingin вне форума Посмотреть профиль Отправить личное сообщение для Miravingin Посетить домашнюю страницу Miravingin Найти все сообщения от Miravingin
  № 10  
Miravingin
 
Аватар для Miravingin

Регистрация: Jun 2004
Адрес: Moon
Сообщений: 44
Блин!!!
Помойму написать is_int($t) будет короче чем у kompadro!? И повторю я не спрашивал как решить эту проблему! А спросил почему так, а вы "высосали проблему из пальца"
__________________
Причина и следствие!

Создать новую тему   Часовой пояс GMT +4, время: 06:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.