php函數 return

值通過使用可選的返回語句返回。可以返回包括數組和對象的任意類型。返回語句會立即中止函數的運行,並且將控製權交回調用該函數的代碼行。

<?php
function square($num)
{
return $num * $num;
}
echo square(4); // 输出 '16'。
?>

函數不能返回多個值,但可以通過返回一個數組來得到類似的效果。

<?php
function small_numbers()
{
return [0, 1, 2];
}
// 使用短数组语法将数组中的值赋给一组变量
[$zero, $one, $two] = small_numbers();

// 在 7.1.0 之前,唯一相等的选择是使用 list() 结构
list($zero, $one, $two) = small_numbers();
?>

php array()函式

array()函式是接收一串以逗號為區隔的資料,放入陣列中。

$aLanguages = array("Arabic", 3 => "German", "Korean", "Tagalog");
echo $aLanguages[0] ;   // "Arabic"
echo $aLanguages[3] ;   // "German"
echo $aLanguages[4] ;   // "Korean"
echo $aLanguages[5] ;   // "Tagalog"

若我們沒有指定任何索引值,這些陣列的元素會被指派預設的索引值。要明確指定array()構件中的索引值的話,要用 =>運算子。

intval

intval  函數

(PHP 4, PHP 5, PHP 7, PHP 8)

intval — 獲取變數的整数值

說明

intval(mixed $value, int $base = 10): int

通过使用指定的进制 base 转换(默认是十进制),返回变量 value 的 int 数值。 intval() 不能用于 object,否则会产生 E_WARNING 錯誤並返回 1。

範例

<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 10000000000
echo intval('1e10');                  // 10000000000
echo intval(0x1A);                    // 26
echo intval('0x1A');                  // 0
echo intval('0x1A', 0);               // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // -4275113695319687168
echo intval('420000000000000000000'); // 9223372036854775807
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo', 'bar'));     // 1
echo intval(false);                   // 0
echo intval(true);                    // 1
?>

ord

ord   函數

(PHP 4, PHP 5, PHP 7, PHP 8)

ord — 轉換字符串第一个字节为 0-255 之间的值

说明

ord(string $character): int

解析 character 二进制值第一个字节为 0 到 255 范围的无符号整型类型。

如果字符串是 ASCII、 ISO-8859、Windows 1252之类单字节编码,就等于返回该字符在字符集编码表中的位置。 但请注意,本函数不会去检测字符串的编码,尤其是不会识别类似 UTF-8 或 UTF-16 这种多字节字符的 Unicode 代码点(code point)。

该函数是 chr() 的互补函数。

範例:

<?php
declare(encoding='UTF-8');
$str = "?";
for ( $pos=0; $pos < strlen($str); $pos ++ ) {
 $byte = substr($str, $pos);
 echo 'Byte ' . $pos . ' of $str has value ' . ord($byte) . PHP_EOL;
}
?>

輸出:

Byte 0 of $str has value 240
Byte 1 of $str has value 159
Byte 2 of $str has value 144
Byte 3 of $str has value 152

strtok

strtok 函數

(PHP 4, PHP 5, PHP 7, PHP 8)

strtok — 标记分割字符串

说明

strtok(string $string, string $token): string|false
strtok(string $token): string|false

strtok() 将字符串 string 分割为若干子字符串,每个子字符串以 token 中的字符分割。这也就意味着,如果有个字符串是 “This is an example string”, 你可以使用空格字符作为 token,将这句话分割成独立的单词。

注意,仅第一次调用 strtok 函数时才使用 string 参数。 随后每次调用 strtok 都将只使用 token 参数,因为它会记住它在当前字符串中的位置。 如果要重新开始分割一个新的字符串,你需要再次使用 string 参数来调用 strtok 函数来对其进行初始化。 注意,可以在 token 参数中使用多个字符。字符串将被 token 参数中任何一个字符分割。

参数

string
被分成若干子字符串的原始字符串。
token
分割 string 时使用的分界字符。

範例

<?php
$string = "This is\tan example\nstring";
/* 使用制表符和换行符作为分界符 */
$tok = strtok($string, " \n\t");

while ($tok !== false) {
    echo "Word=$tok<br />";
    $tok = strtok(" \n\t");
}
?>
結果:
Word=This
Word=is
Word=an
Word=example
Word=string

explode

explode 函數

(PHP 4, PHP 5, PHP 7, PHP 8)

explode — 使用一个字符串分割另一个字符串

使用

explode(string $separator, string $string, int $limit = PHP_INT_MAX): array

參數

separator
边界上的分隔字符。
string
输入的字符串。
limit
如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。
如果 limit 是 0,则会被当做 1。

範例

<?php
// 示例 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>
結果
範例一
piece1piece2
範例二
foo*