php函数

字符串处理函数

1.strlen(str):返回字符串长度

<?php
    echo strlen("Hello World");
?>

2.strpos(str1,str2):在str1中寻找目标文本str2,返回第一个匹配的字符的位置。未找到匹配则返回FALSE

<?php
    $str1 = "hello world!";
    $target = "world";
    echo $target . "所在的位置为:" . (string) strpos($str1,$target);
?>

3.substr():从字符串中截取子串

语法格式

string substr(string $string, int $start [, int $length])
  • $string → 原字符串
  • $start → 开始位置(从 0 开始)
    • 如果是负数 → 从字符串末尾算起
  • $length → 可选,截取长度
    • 如果省略 → 截取到字符串末尾
    • 如果为负数 → 截取到 倒数第 N 个字符 前

数组处理函数

1.count(array):获取数组长度

<?php
    $lists = array();
    $lists[0] = "test1";
    $lists[2] = "test2";
    echo $lists[0];
    echo $lists[1];  //警告,并生成空字符串
    echo $lists[2];
    echo $lists[3];  //警告,并生成空字符串

    echo count($cars); //输出为2
?>    

2.数组排序

  • sort(array):升序排序
  • rsort(array):降序排序
  • asort(array):根据关联数组的值,对数组进行升序排序
  • ksort(array):根据关联数组的键,对数组进行升序排序
  • arsort(array):根据关联数组的值,对数组进行降序排序
  • krsort(array):根据关联数组的键,对数组进行降序排序

3.count():计算数组中元素的个数

语法

count(mixed $value, int $mode = COUNT_NORMAL): int
  • $value->要计算的数组或对象
  • $mode->可选,默认为 COUNT_NORMAL。如果设置为 COUNT_RECURSIVE(或 1),则会递归地计算多维数组中的所有元素。

4.array_search():在数组中搜索某个值,并 返回该值对应的键名(非递归)

没找到值则返回false

语法

array_search(mixed $needle, array $haystack, bool $strict = false): int|string|false
  • $needle->要搜索的值
  • $haystack->要搜索的数组
  • $strict->是否启用全等(===)。默认为false,表示使用 == 宽松比较

示例

$colors = ["red", "green", "blue"];

$key = array_search("green", $colors);
echo $key; // 输出:1

对象处理函数

1.unset(obj):销毁对象

其他杂项内置函数

1.highlight_file():以高亮的方式输出源代码

2.__FILE__ :是一个 魔术常量,代表当前文件的完整路径和文件名。

3. 判断变量系列

isset(): 用于 检测变量是否已经被设置并且值不为 null。

  • 存在且不为null则返回true
  • 否则返回false

is_array():判断变量是否为数组

bool is_array(mixed $value)
  • $value:要检测的变量

is_numeric():用来 判断一个变量是否为数字或数字字符串。

4.intval():将变量转换为整型类型

语法

int intval(mixed $var [, int $base = 10])
  • $var → 需要转换的值(可以是字符串、浮点数、布尔值等)
  • $base → 可选,针对 字符串表示的整数 时指定进制(默认为 10)
  • 返回 整数值

5.md5():用于计算一个字符串的MD5散列值

语法:

string md5(string $string [, bool $raw_output = false])
  • $string->需要计算MD5的字符串
  • $raw_output -> 可选,是否返回 原始二进制格式
    • 默认 false → 返回 32 位十六进制字符串
    • true → 返回 16 字节二进制字符串

示例:

<?php
$str = "hello world";

// 返回 32 位十六进制字符串(默认)
echo md5($str); 
// 输出: 5eb63bbbe01eeed093cb22bb8f5acdc3

// 返回二进制格式
echo md5($str, true); 
// 输出: 二进制数据,浏览器可能显示乱码

6.die():用于终止脚本执行,并选择性输出一条消息

语法:

void die([string $message])
  • $message->可选,要输出的内容(字符串或数字)
  • 调用后,脚本会立即停止执行
  • 如果传入整数,会作为退出状态码返回给操作系统

示例:

<?php
echo "开始执行\n";

// 条件判断,出现错误时终止
$error = true;
if ($error) {
    die("发生错误,脚本终止!\n");
}

echo "这行代码不会被执行\n";

7.json相关函数

json_decode():将 JSON 格式的字符串转换为 PHP 的数据结构(对象或数组)。

语法

mixed json_decode(
    string $json, 
    bool $associative = false, 
    int $depth = 512, 
    int $flags = 0
)
  • $json:要解码的 JSON 字符串,必须是 UTF-8 编码。
  • $associativefalse 返回对象,true 返回关联数组。
  • $depth:最大解析层级(默认 512)。
  • $flags:控制解码方式(如 JSON_BIGINT_AS_STRING)。

用法1:JSON转对象(默认)

$json = '{"name":"Tom","age":18}';
$obj = json_decode($json);

echo $obj->name; // 输出 Tom
echo $obj->age;  // 输出 18

用法2:JSON转关联数组

$json = '{"name":"Tom","age":18}';
$arr = json_decode($json, true);

echo $arr["name"]; // 输出 Tom
echo $arr["age"];  // 输出 18

json_encode():将 PHP 的数据结构转换为 JSON 格式的字符串。

语法:

string|false json_encode(
    mixed $value, 
    int $flags = 0, 
    int $depth = 512
)
  • $value:要编码的数据(数组、对象、标量)。
  • $flags:控制编码行为(如 JSON_UNESCAPED_UNICODE)。
  • $depth:最大嵌套层级(默认 512)。

数组转JSON

$arr = ["name" => "Tom", "age" => 18];
$json = json_encode($arr);

echo $json; // {"name":"Tom","age":18}

对象转JSON

class Person {
    public $name = "Alice";
    public $age = 20;
}
$p = new Person();

echo json_encode($p);
// {"name":"Alice","age":20}

8.var_dump():调试函数,输出一个或多个变量的详细信息

详细信息包括:

  • 数据类型(type)
  • 数据长度(length)
  • 实际值(value)

语法:

var_dump(mixed $expression [, mixed $... ]): void

可以传入一个或多个变量

示例:

$a = 123;
$b = "hello";
$c = [1, 2, 3];

var_dump($a);
var_dump($b);
var_dump($c);

输出结果

int(123)
string(5) "hello"
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
posted @ 2026-07-02 17:51  畅畅c  阅读(2)  评论(0)    收藏  举报