|
|
|
|
Catchable fatal error: Argument 1 passed to words2array() must be an instance of string, string given
|
Написал при объявлении функции function my_func(string $s) и получил такое сообщение.
Кто ж мне надо писать, чтобы функция принимала строку в качестве аргумента.
Ну, или переменную,которая содержит в себе строку? | |
|
|
|
|
|
|
|
для: Eugene77
(18.12.2008 в 19:51)
| | а можно саму функцию показать? Просто не совсем понятно, в чем ошибка, и что вы хотите. | |
|
|
|
|
|
|
|
для: Eugene77
(18.12.2008 в 19:51)
| | В PHP не нужно предварительно указывать её тип. | |
|
|
|
|
|
|
|
для: BinLaden
(18.12.2008 в 20:47)
| | >В PHP не нужно предварительно указывать её тип.
Я никогда и не указывал, но потом становится трудно ориентироваться в своих же функциях.
Приходится смотреть их текст, чтобы определить какой именно аргумент эта функция принимает, а если явно указать тип аргумента, то он сразу в подсказке редактора появляется.
так существенно удобней и быстрей работать.
так как же мне указать тип аргумента string?
Вот так не проходит:
function myfunction(string $s){}
|
вызов:
myfunction("Получи обычную строку!");
|
Вызывает вышеупомянутую фатальную ошибку | |
|
|
|
|
|
|
|
для: Eugene77
(19.12.2008 в 17:38)
| |
<?php
function myfunction( /* string */ $s ) { /* ... */ }
?>
|
<?php
function myfunction( $string ) { /* ... */ }
?>
|
| |
|
|
|
|
|
|
|
для: BinLaden
(19.12.2008 в 17:42)
| | Ваша находчивость делает вам честь!
Но, я всё же надеюсь, что существует и более прямолинейное решение.
Несмотря на то,что искал его уже в двух толстых книгах по PHP. | |
|
|
|
|
|
|
|
для: Eugene77
(19.12.2008 в 19:51)
| | В принципе, достаточно глянуть в мануал и посмотреть как определяются функции. Хотя если Вы найдете "толстую книгу по PHP" с недокументированными возможностями -- скажите мне:) | |
|
|
|
|
|
|
|
для: Eugene77
(18.12.2008 в 19:51)
| | >string $s
Как сказал BinLaden, string здесь не к чему. | |
|
|
|