2009-11-13 4 views
1
<?php 
include("stdio.h"); 

function main() 
{ 
    printf("Hello World"); 
    return 0; 
} 

?> 

Ошибка в строке 2? Не знаю, что я делаю неправильно.PHP Script не работает

+9

Самый смешной вопрос, который я когда-либо видел. –

+3

Это серьезный вопрос? Не могли бы вы честно найти какую-либо помощь в скрипте PHP Hello? –

+1

Этот вопрос для победы. – tplaner

ответ

3

Как уже было сказано, ваш код выглядит как код C внутри тега PHP. Вот PHP эквивалент того, что вы пытаетесь сделать:

<?php  
printf("Hello World");  
?> 

Однако, если вы на самом деле нужна функция Main(), она будет выглядеть следующим образом:

<?php  
function main() 
{ 
    printf("Hello World"); 
    return 0; 
} 
$returnValue = main(); 

?> 

Это будет иметь результат вторя строку «Hello World» и установив $ ReturnValue 0.

+1

выход (main()); вероятно, немного точнее, но в остальном, +1 –

+2

Конечно, вы совершенно правы. Я исходил из предположения, что искатель может захотеть продолжить делать что-то еще с возвращаемым значением функции. –

2

Скорее всего, это C, а не PHP. Попробуйте

<?php 
    echo "Hello World"; 
?> 
+0

О, вам не нужно использовать функцию main()? – y2k

+1

Каждый установленный lib включен по умолчанию, а для простого вывода - echo. main() не требуется. – erenon

+5

Нет. Скрипты PHP запускаются сверху вниз. –

0

PHP не C. Нет stdio.h, и не существует printf. (Но эхо обычно используется, если не форматирование.)

 
    echo "Hello World"; 
+0

Существует printf http://php.net/manual/en/function.printf.php – Gordon

+0

Существует printf :) – erenon

+1

О да! Я забыл об этом. Фиксация ... – wallyk

1

Оператор include() включает и оценивает указанный файл.

Итак, PHP попытается проанализировать содержимое внутри stdio.h, и поскольку это, скорее всего, полный кода C, будут ошибки, потому что это не то, что PHP ожидает найти там.

Для получения дополнительной информации обратитесь к PHP Manual.

0

правильный PHP эквивалент этой программы псевдо-C является:

Hello World 

Примечание: нет <?php открываемых тегов.

+1

Мне нравится тот факт, что кто-то беспокоил этот правильный ответ на вопрос, которому почти 3 года. Это * обязательство * ... – DaveRandom

+0

-1, так как выше это * не * PHP-код. См. [Escaping from HTML] (http://www.php.net/manual/en/language.basic-syntax.phpmode.php) в руководстве, в котором, мы надеемся, проясним это различие. * \ * commit \ ** – salathe

+0

@salathe Но это * действительная PHP-программа *. Положите это в PHP-интерпретаторе, и вы получите желаемый результат. 'T_INLINE_HTML' является допустимым токеном синтаксиса PHP, который я использую здесь. : P – deceze