2013-11-11 3 views
1

я редактировал существующий PHP скрипт и наткнулся функции, как такphp - переменная функции, объявленная в null. Зачем?

function functionName($var1 = null, $var2 = null, $var3 = null)

Я не уверен, почему вы бы объявить var утративших таким образом. Я попытался найти ответ в Интернете, но Google подтягивает все, кроме этого примера.

Любая помощь была бы принята с благодарностью.

+1

Это значения по умолчанию для параметров, что позволяет их исключить. http://www.php.net/manual/en/functions.arguments.php#functions.arguments.default –

ответ

2

Это значения по умолчанию: вам не нужно указывать их при вызове функции. Когда вы их опустите, будет использоваться значение по умолчанию.

См example #3 on this manual page. Оттуда:

<?php 
function makecoffee($type = "cappuccino") 
{ 
    return "Making a cup of $type.\n"; 
} 
echo makecoffee(); 
echo makecoffee(null); 
echo makecoffee("espresso"); 
?> 

будет выводить

Making a cup of cappuccino. 
Making a cup of . 
Making a cup of espresso. 
+0

Отлично, спасибо большое. – StevenPHP

1

Функция определяется с NULL в качестве идентификатора переменной по умолчанию. См. example #3 о документации по функциям в руководстве по PHP.

Аргумент $var1 не является обязательным и не требуется. Если указано, будет использовано заданное значение. Если нет, будет использоваться значение, заданное как значение по умолчанию.

Другой пример:

function sayHello($person = 'stranger') { 
    return "Hello, $person"; 
} 

echo sayHello('Rob'); 
echo sayHello('Tom'); 
echo sayHello(); 

Он будет:

Hello, Rob 
Hello, Tom 
Hello, stranger 

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

Надеюсь, это поможет!

+0

Большое спасибо, это помогает. – StevenPHP

+0

@StevenPHP: Рад, что я мог бы помочь. Приветствия :) –

0

Это просто значение по умолчанию: когда вы вызываете функцию, если вы не устанавливаете значение в $ var, она принимает значение по умолчанию.

Например:

function foo($bar = 'default') 
{ 
    return $bar; 
} 

echo foo(); // Will display "default" 
echo foo('Hello world!'); // Will display "Hello world!" 
0

, когда вы кладете в значении в качестве параметра, как этого среднего, если вы не передать ничего «LOL» (или другое значение) будет по умолчанию.

function foo($param1 = 'lol'){ 
    echo $param1; 
    } 


    foo(); //'lol'; 
    foo('new foo'); // new foo 
Смежные вопросы