无需言 做自己 业 ,精于勤 荒于嬉.
- SPL 函数 spl_object_id Return the integer object handle for given object
-
发表日期:2021-07-01 08:56:26 | 来源: | 分类:SPL 函数
-
示例1
<?php $id = spl_object_id($object); $storage[$id] = $object; ?>
- SPL 函数 spl_autoload __autoload()函数的默认实现
-
发表日期:2021-07-01 08:56:26 | 来源: | 分类:SPL 函数
-
spl_autoload
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
spl_autoload — __autoload()函数的默认实现
说明
spl_autoload(string$class_name
, string$file_extensions
= ?): void本函数提供了__autoload()的一个默认实现。如果不使用任何参数调用 spl_autoload_register() 函数,则以后在进行 __autoload() 调用时会自动使用此函数。
参数
-
class_name
-
-
file_extensions
-
在默认情况下,本函数先将类名转换成小写,再在小写的类名后加上 .inc 或 .php 的扩展名作为文件名,然后在所有的包含路径(include paths)中检查是否存在该文件。
返回值
没有返回值。
-
- SPL 函数 spl_autoload_functions 返回所有已注册的 __autoload() 函数
-
发表日期:2021-07-01 08:56:26 | 来源: | 分类:SPL 函数
-
spl_autoload_functions
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
spl_autoload_functions — 返回所有已注册的 __autoload() 函数
说明
spl_autoload_functions(): array获取所有已注册的 __autoload() 函数。
参数
此函数没有参数。
返回值
包含所有已注册的 __autoload 函数的数组(array)。如果自动装载函数队列未激活,则返回
false
。如果没有已注册的函数,则返回一个空数组。
- SPL 函数 class_parents 返回指定类的父类。
-
发表日期:2021-07-01 08:56:25 | 来源: | 分类:SPL 函数
-
示例1
<?php class foo { } class bar extends foo { } print_r(class_parents(new bar)); // since PHP 5.1.0 you may also specify the parameter as a stringprint_r(class_parents('bar')); function __autoload($class_name) { require_once $class_name . '.php'; } // use __autoload to load the 'not_loaded' classprint_r(class_parents('not_loaded', true)); ?>
- SPL 函数 class_uses Return the traits used by the given class
-
发表日期:2021-07-01 08:56:25 | 来源: | 分类:SPL 函数
-
示例1
<?php trait foo { } class bar { use foo; } print_r(class_uses(new bar)); print_r(class_uses('bar')); function __autoload($class_name) { require_once $class_name . '.php'; } // use __autoload to load the 'not_loaded' classprint_r(class_uses('not_loaded', true)); ?>
- SPL 函数 iterator_count 计算迭代器中元素的个数
-
发表日期:2021-07-01 08:56:25 | 来源: | 分类:SPL 函数
-
示例1
<?php $iterator = new ArrayIterator(array('recipe'=>'pancakes', 'egg', 'milk', 'flour')); var_dump(iterator_count($iterator)); ?>
- SPL 函数 iterator_apply 为迭代器中每个元素调用一个用户自定义函数
-
发表日期:2021-07-01 08:56:25 | 来源: | 分类:SPL 函数
-
示例1
<?php function print_caps(Iterator $iterator) { echo strtoupper($iterator->current()) . "\n"; return TRUE; } $it = new ArrayIterator(array("Apples", "Bananas", "Cherries")); iterator_apply($it, "print_caps", array($it)); ?>
- JSON 函数 json_decode 对 JSON 格式的字符串进行解码
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
示例1
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?>
示例2
<?php $json = '{"foo-bar": 12345}'; $obj = json_decode($json); print $obj->{'foo-bar'}; // 12345 ?>
示例3
<?php // the following strings are valid JavaScript but not valid JSON // the name and value must be enclosed in double quotes // single quotes are not valid $bad_json = "{ 'bar': 'baz' }"; json_decode($bad_json); // null // the name must be enclosed in double quotes $bad_json = '{bar: "baz" }'; json_decode($bad_json); // null// trailing commas are not allowed $bad_json = '{bar: "baz", }'; json_decode($bad_json); // null ?>
示例4
<?php // Encode the data. $json = json_encode(array(1 => array('English' => array('One','January'),'French' => array('Une','Janvier')))); // Define the errors. $constants = get_defined_constants(true); $json_errors = array(); foreach ($constants["json"] as $name => $value) { if (!strncmp($name, "JSON_ERROR_", 11)) { $json_errors[$value] = $name; } } // Show the errors for different depths. foreach (range(4, 3, -1) as $depth) { var_dump(json_decode($json, true, $depth)); echo 'Last error: ', $json_errors[json_last_error()], PHP_EOL, PHP_EOL; } ?>
示例5
<?php $json = '{ "number": 12345678901234567890} '; var_dump(json_decode($json)); var_dump(json_decode($json, false, 512, JSON_BIGINT_AS_STRING)); ?>
- JSON 函数 json_last_error_msg Returns the error string of the last json_encode() or json_decode() call
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
json_last_error_msg
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
json_last_error_msg — Returns the error string of the last json_encode() or json_decode() call
说明
json_last_error_msg(): stringReturns the error string of the last json_encode() or json_decode() call, which did not specify
JSON_THROW_ON_ERROR
.参数
此函数没有参数。
返回值
Returns the error message on success, or
"No error"
if no error has occurred.
- JSON 函数 json_encode 对变量进行 JSON 编码
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
示例1
<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?>
示例2
<?php $a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9"); echo "Normal: ", json_encode($a), "\n"; echo "Tags: ", json_encode($a, JSON_HEX_TAG), "\n"; echo "Apos: ", json_encode($a, JSON_HEX_APOS), "\n"; echo "Quot: ", json_encode($a, JSON_HEX_QUOT), "\n"; echo "Amp: ", json_encode($a, JSON_HEX_AMP), "\n"; echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE), "\n"; echo "All: ", json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE), "\n\n"; $b = array(); echo "Empty array output as array: ", json_encode($b), "\n"; echo "Empty array output as object: ", json_encode($b, JSON_FORCE_OBJECT), "\n\n"; $c = array(array(1,2,3)); echo "Non-associative array output as array: ", json_encode($c), "\n"; echo "Non-associative array output as object: ", json_encode($c, JSON_FORCE_OBJECT), "\n\n"; $d = array('foo' => 'bar', 'baz' => 'long'); echo "Associative array always output as object: ", json_encode($d), "\n"; echo "Associative array always output as object: ", json_encode($d, JSON_FORCE_OBJECT), "\n\n"; ?>
示例3
<?php echo "Strings representing numbers automatically turned into numbers".PHP_EOL; $numbers = array('+123123', '-123123', '1.2e3', '0.00001'); var_dump( $numbers, json_encode($numbers, JSON_NUMERIC_CHECK)); echo "Strings containing improperly formatted numbers".PHP_EOL; $strings = array('+a33123456789', 'a123'); var_dump( $strings, json_encode($strings, JSON_NUMERIC_CHECK)); ?>
示例4
<?php echo "连续数组".PHP_EOL; $sequential = array("foo", "bar", "baz", "blong"); var_dump( $sequential, json_encode($sequential)); echo PHP_EOL."非连续数组".PHP_EOL; $nonsequential = array(1=>"foo", 2=>"bar", 3=>"baz", 4=>"blong"); var_dump( $nonsequential, json_encode($nonsequential)); echo PHP_EOL."删除一个连续数组值的方式产生的非连续数组".PHP_EOL; unset($sequential[1]); var_dump( $sequential, json_encode($sequential)); ?>
示例5
<?php var_dump(json_encode(12.0, JSON_PRESERVE_ZERO_FRACTION)); var_dump(json_encode(12.0)); ?>
- JSON 函数 json_last_error 返回最后发生的错误
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
示例1
<?php // 一个有效的 json 字符串$json[] = '{ "Organization": "PHP Documentation Team"} '; // 一个无效的 json 字符串会导致一个语法错误,在这个例子里我们使用 ' 代替了 " 作为引号$json[] = "{ 'Organization': 'PHP Documentation Team'} "; foreach ($json as $string) { echo 'Decoding: ' . $string; json_decode($string); switch (json_last_error()) { case JSON_ERROR_NONE: echo ' - No errors'; break; case JSON_ERROR_DEPTH: echo ' - Maximum stack depth exceeded'; break; case JSON_ERROR_STATE_MISMATCH: echo ' - Underflow or the modes mismatch'; break; case JSON_ERROR_CTRL_CHAR: echo ' - Unexpected control character found'; break; case JSON_ERROR_SYNTAX: echo ' - Syntax error, malformed JSON'; break; case JSON_ERROR_UTF8: echo ' - Malformed UTF-8 characters, possibly incorrectly encoded'; break; default: echo ' - Unknown error'; break; } echo PHP_EOL; } ?>
示例2
<?php // 无效的 UTF8 序列$text = "\xB1\x31"; $json = json_encode($text); $error = json_last_error(); var_dump($json, $error === JSON_ERROR_UTF8); ?>
- PCNTL 函数 pcntl_wait 等待或返回 fork 的子进程状态
-
发表日期:2021-07-01 08:56:17 | 来源: | 分类:PCNTL 函数
-
pcntl_wait
(PHP 5, PHP 7, PHP 8)
pcntl_wait — 等待或返回 fork 的子进程状态
说明
pcntl_wait(int&$status
, int$options
= 0, array&$rusage
= ?): intwait函数挂起当前进程的执行直到一个子进程退出或接收到一个信号要求中断当前进程或调用一个信号处理函数。如果一个子进程在调用此函数时已经退出(俗称僵尸进程),此函数立刻返回。子进程使用的所有系统资源将被释放。关于 wait 在您系统上工作的详细规范请查看您系统的 wait(2)手册。
注意:
这个函数等同于以
-1
作为参数pid
的值并且没有options
参数来调用 pcntl_waitpid() 函数。参数
-
status
-
pcntl_wait() 将会存储状态信息到
status
参数上,这个通过status
参数返回的状态信息可以用以下函数 pcntl_wifexited(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig() 以及 pcntl_wstopsig() 获取其具体的值。 -
options
-
如果您的操作系统(多数BSD类系统)允许使用 wait3,您可以提供可选的
options
参数。如果这个参数没有提供,wait将会被用作系统调用。如果wait3不可用,提供参数options
不会有任何效果。options
的值可以是0 或者以下两个常量或两个常量“或运算”结果(即两个常量代表意义都有效)。options
可用值WNOHANG
如果没有子进程退出立刻返回。 WUNTRACED
子进程已经退出并且其状态未报告时返回。
返回值
pcntl_wait() 返回退出的子进程进程号,发生错误时返回 -1,如果提供了 WNOHANG 作为 option(wait3可用的系统)并且没有可用子进程时返回 0。
参见
- pcntl_fork() - 在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程 号,而子进程得到的是0。
- pcntl_signal() - 安装一个信号处理器
- pcntl_wifexited() - 检查状态代码是否代表一个正常的退出。
- pcntl_wifstopped() - 检查子进程当前是否已经停止
- pcntl_wifsignaled() - 检查子进程状态码是否代表由于某个信号而中断
- pcntl_wexitstatus() - 返回一个中断的子进程的返回代码
- pcntl_wtermsig() - 返回导致子进程中断的信号
- pcntl_wstopsig() - 返回导致子进程停止的信号
- pcntl_waitpid() - 等待或返回fork的子进程状态
-
- PCNTL 函数 pcntl_wifsignaled 检查子进程状态码是否代表由于某个信号而中断
-
发表日期:2021-07-01 08:56:17 | 来源: | 分类:PCNTL 函数
-
pcntl_wifsignaled
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
pcntl_wifsignaled — 检查子进程状态码是否代表由于某个信号而中断
说明
pcntl_wifsignaled(int$status
): bool检查子进程是否是由于某个未捕获的信号退出的。
返回值
如果子进程是由于某个未捕获的信号退出的返回
true
,其他情况返回false
。
- PCNTL 函数 pcntl_wtermsig 返回导致子进程中断的信号
-
发表日期:2021-07-01 08:56:17 | 来源: | 分类:PCNTL 函数
-
pcntl_wtermsig
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
pcntl_wtermsig — 返回导致子进程中断的信号
返回值
返回整型的信号编号。
参见
- pcntl_waitpid() - 等待或返回fork的子进程状态
- pcntl_signal() - 安装一个信号处理器
- pcntl_wifsignaled() - 检查子进程状态码是否代表由于某个信号而中断
- PCNTL 函数 pcntl_errno 别名 pcntl_get_last_error()
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
说明
此函数是该函数的别名: pcntl_get_last_error()
- PCNTL 函数 pcntl_getpriority 获取任意进程的优先级
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
pcntl_getpriority
(PHP 5, PHP 7, PHP 8)
pcntl_getpriority — 获取任意进程的优先级
说明
pcntl_getpriority(int$pid
= getmypid(), int$process_identifier
= PRIO_PROCESS): intpcntl_getpriority() 获取进程号为
pid
的进程的优先级。由于不同的系统类型以及内核版本下 优先级可能不同,因此请参考您系统的getpriority(2)手册以获取详细的规范。参数
-
pid
-
如果没有指定,默认是当前进程的进程号。
-
process_identifier
-
PRIO_PGRP
(译注:获取进程组优先级),PRIO_USER
(译注:获取用户进程优先级)或PRIO_PROCESS(译注:默认值;获取进程优先级)
三者之一。
返回值
pcntl_getpriority() 返回进程的优先级或在错误时返回
false
。 值越小代表优先级越高。警告此函数可能返回布尔值
false
,但也可能返回等同于false
的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。 -
- PCNTL 函数 pcntl_setpriority 修改任意进程的优先级
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
pcntl_setpriority
(PHP 5, PHP 7, PHP 8)
pcntl_setpriority — 修改任意进程的优先级
说明
pcntl_setpriority(int$priority
, int$pid
= getmypid(), int$process_identifier
= PRIO_PROCESS): boolpcntl_setpriority() 设置进程号为
pid
的进程的优先级。参数
-
priority
-
priority
通常时-20至20这个范围内的值。默认优先级是0,值越小代表 优先级越高。由于不同的系统类型以及内核版本下优先级可能不同,因此请参考您系统的setpriority(2) 手册以获取详细的规范。 -
pid
-
如果没有指定,默认是当前进程的进程号。
-
process_identifier
-
PRIO_PGRP
(译注:获取进程组优先级),PRIO_USER
(译注:获取用户进程优先级)或PRIO_PROCESS(译注:默认值;获取进程优先级)
三者之一。
返回值
成功时返回
true
, 或者在失败时返回false
。 -
- PCNTL 函数 pcntl_signal_dispatch 调用等待信号的处理器
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
示例1
<?php echo "安装信号处理器...\n"; pcntl_signal(SIGHUP, function($signo) { echo "信号处理器被调用\n"; } ); echo "为自己生成SIGHUP信号...\n"; posix_kill(posix_getpid(), SIGHUP); echo "分发...\n"; pcntl_signal_dispatch(); echo "完成\n"; ?>
- PCNTL 函数 pcntl_signal_get_handler Get the current handler for specified signal
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
示例1
<?php var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(0)function pcntl_test($signo) { } pcntl_signal(SIGUSR1, 'pcntl_test'); var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: string(10) "pcntl_test"pcntl_signal(SIGUSR1, SIG_DFL); var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(0)pcntl_signal(SIGUSR1, SIG_IGN); var_dump(pcntl_signal_get_handler(SIGUSR1)); // Outputs: int(1)?>
- PCNTL 函数 pcntl_sigprocmask 设置或检索阻塞信号
-
发表日期:2021-07-01 08:56:16 | 来源: | 分类:PCNTL 函数
-
示例1
<?php //将SIGHUP信号加入到阻塞信号中pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP)); $oldset = array(); //将SIGHUP从阻塞信号列表中移除并返回之前的阻塞信号列表。pcntl_sigprocmask(SIG_UNBLOCK, array(SIGHUP), $oldset); ?>
- 前端开发(1)
- 数据库(0)
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)
- JAVA(0)
- Android(0)
- Linux(0)
- 其他(0)