2010-04-23 3 views
3
$arrg = array(); 
if(str_word_count($str) > 1) { 
    $input_arr = explode(' ', $str); 
    die(print_r($input_arr)); 
    $count = count($input_arr); 
    die($count); 

выше является частью функции. когда я запускаю, я получаю;Не возвращать номер счета для заполненного массива

 
Array (
    [0] => luke 
    [1] => snowden 
    [2] => create 
    [3] => develop 
    [4] => web 
    [5] => applications 
    [6] => sites 
    [7] => alse 
    [8] => dab 
    [9] => hand 
    [10] => design 
    [11] => love 
    [12] => helping 
    [13] => business 
    [14] => thrive 
    [15] => latest 
    [16] => industry 
    [17] => developer 
    [18] => act 
    [19] => designs 
    [20] => php 
    [21] => mysql 
    [22] => jquery 
    [23] => ajax 
    [24] => xhtml 
    [25] => css 
    [26] => de 
    [27] => montfont 
    [28] => award 
    [29] => advanced 
    [30] => programming 
    [31] => taught 
    [32] => development 
    [33] => years 
    [34] => experience 
    [35] => topic 
    [36] => fully 
    [37] => qualified 
    [38] => electrician 
    [39] => city 
    [40] => amp 
    [41] => guilds 
    [42] => level) 

Который из ожидающих;

перспективе это, однако, и ничего не возвращается:

$arrg = array(); 
if(str_word_count($str) > 1) { 
    $input_arr = explode(' ', $str); 
    //die(print_r($input_arr)); 
    $count = count($input_arr); 
    die($count); 

ответ

2

Хм. Это делает это, потому что $ count является целым числом, интересно? Что произойдет, если вы умрете (strval ($ count))?

11
die($count); 

Убивает скрипт с $count (целое число) в качестве exit code.

Вы хотите:

die((string) $count); 

5

От http://www.php.net/manual/en/function.exit.php (такой же, как умирают()) (или сопоставимыми.):

Если состояние является строкой, то эта функция печатает статус перед выходом.

Если статус является целым числом, это значение также будет использоваться в качестве статуса выхода. Статусы выхода должны находиться в диапазоне 0 до 254, статус выхода 255 равен , зарезервированному PHP и не должен использоваться. Состояние 0 используется для успешного завершения программы .

+2

Возможно, это неправильно, не так ли? «Будет также» должно быть «будет». :) – deceze

+1

Вы должны передать это команде разработчиков php, а? – zaf

+2

Готово. :) http://bugs.php.net/bug.php?id=51644 – deceze

2

die() не будет печатать аргумент, если он численный, он будет использовать его как код статуса выхода.

Проблема только ваша отладка метод ...: о)

0

параметр Integer умереть используются как код завершения процесса (штамп эквивалентен выходу). Просто проверьте documentation.

1

Вы пытались вывести $ count? на данный момент вы убиваете свой скрипт с помощью count count как код ошибки. simly do

die(print($count)); 

Чтобы получить то, что вы хотите.

+0

Это на самом деле довольно опрятное решение, так как 'print' возвращает' 1', поэтому после печати 'die (); 'все еще получает код ошибки для работы. Конечно, это отладочный код, поэтому он не так полезен, как может быть, но конструкцию в целом стоит иметь в виду. +1 – pinkgothic

Смежные вопросы