Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Warning: Wrong parameter count for strstr()
 
 автор: Гавриленко Дмитрий   (23.05.2010 в 17:35)   письмо автору
 
 

Зачем такая ошибка выходит.
В коде использовал самую простую функцию strstr($str,$search[,$before])
В строке Hello world, 777, 8a. Функцией искал 7, и в необязательном параметре поставил TRUE.
Вот такой код.

$n = Hello world, 777, 8a;
echo strstr($n,"7",TRUE);

  Ответить  
 
 автор: cheops   (23.05.2010 в 17:39)   письмо автору
 
   для: Гавриленко Дмитрий   (23.05.2010 в 17:35)
 

Хм... странно, у меня код отработал без ошибок, а при инициализации переменной $n у вас имеются обрамляющие кавычки? Или это просто тут опечатка?
<?php
$n 
"Hello world, 777, 8a"
echo 
strstr($n,"7",TRUE);
?>

  Ответить  
 
 автор: sim5   (23.05.2010 в 17:53)   письмо автору
 
   для: cheops   (23.05.2010 в 17:39)
 

на отсутствие кавычек выдало бы:
Parse error: syntax error, unexpected T_STRING
TRUE лишнее в функции.

  Ответить  
 
 автор: Гавриленко Дмитрий   (23.05.2010 в 18:46)   письмо автору
 
   для: cheops   (23.05.2010 в 17:39)
 

Кавычки имеются. Вот и я думаю в чем же проблема! Все правильно, а ошибка выдается!

  Ответить  
 
 автор: sim5   (23.05.2010 в 18:50)   письмо автору
 
   для: Гавриленко Дмитрий   (23.05.2010 в 18:46)
 

Покажите мануал, в котором вы прочитали, что функция strstr принимает три аргумента.

  Ответить  
 
 автор: cheops   (23.05.2010 в 18:57)   письмо автору
 
   для: sim5   (23.05.2010 в 18:50)
 

http://ru2.php.net/manual/en/function.strstr.php

  Ответить  
 
 автор: sim5   (23.05.2010 в 19:01)   письмо автору
 
   для: cheops   (23.05.2010 в 18:57)
 

Если честно, то впервые в этом и увидел.
У меня РНР 5.2.4 - ругается на лишний аргумент.

PS. Ага, прочитал в мануале, что 5.3.

  Ответить  
 
 автор: cheops   (23.05.2010 в 19:04)   письмо автору
 
   для: sim5   (23.05.2010 в 19:01)
 

А я помню где-то я уже этот параметр видел... и у меня он почему-то в старом мануале имеется, а его ещё оказывается в самой первой версии PHP 6.0 ввели, а потом когда развитие этой версии забуксовало стали наработки 6.0 в 5.2 и 5.3 портировать.

  Ответить  
 
 автор: sim5   (23.05.2010 в 19:08)   письмо автору
 
   для: cheops   (23.05.2010 в 19:04)
 

Ясно, задним числом ) Придется перепроверить мануал, наверное это не один сюрприз.

  Ответить  
 
 автор: cheops   (23.05.2010 в 18:54)   письмо автору
 
   для: Гавриленко Дмитрий   (23.05.2010 в 18:46)
 

1. Хм... а интерпретатор именно на эту строку указывает? У вас помимо этих строк что-то имеется в скрипте и если имеется, то как ведет себя программа, если оставить только эти две строки?
2. У вас версия PHP точно 5.3 (или 6.0)? Не ниже? Дело в том, что этот параметр введен только начиная с версии 5.3, в версиях ниже он отсутствует и интерпретатор ждет 2 параметра.

  Ответить  
 
 автор: Гавриленко Дмитрий   (26.05.2010 в 23:20)   письмо автору
 
   для: cheops   (23.05.2010 в 18:54)
 

Да, я понял. В книге было написано замечание, что третий, необязательный параметр появится только в php 6

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования