常用算法的PHP实现

常用算法的PHP实现 1. 快速排序 (Quick Sort) <?php function quickSort($arr) { if (count($arr) <= 1) { return $arr; } $pivot = $arr[0]; $left = $right = []; for ($i = 1; $i < count($arr); $i++) { if ($arr[$i] < $pivot) { $left[] = $arr[$i]; } else { $right[] = $arr[$i]; } } return array_merge(quickSort($left), [$pivot], quickSort($right)); } // 测试 $numbers = [64, 34, 25, 12, 22, 11, 90]; echo "原始数组: " . implode(', ', $numbers) ....

March 12, 2023 · 3 min · Leanku

PHP位运算使用

PHP 位运算介绍 位运算符允许对整型数中指定的位进行求值和操作。 以下是官网的一个介绍。 例子 名称 结果 $a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。 $a | $b Or(按位或) 将把 $a 和 $b 中任何一个为 1 的位设为 1。 $a ^ $b Xor(按位异或) 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。 ~ $a Not(按位取反) 将 $a 中为 0 的位设为 1,反之亦然。 $a « $b Shift left(左移) 将 $a 中的位向左移动 $b 次(每一次移动都表示 “乘以 2”)。 $a » $b Shift right(右移) 将 $a 中的位向右移动 $b 次(每一次移动都表示 “除以 2”)。 详情请点击这里了解。 平常开发需要用位运算吗? 位运算符都是针对整数的二进制数字形式而进行的。...

February 28, 2023 · 1 min · Leanku

PHP标准输入与输出

PHP标准输入与输出 一、PHP STDIN、STDOUT、STDERR简介: STDIN、STDOUT、STDERR命令输入输出流,用于向控制台(linux shell终端、windows cmd终端)输入、输出内容,它们默认是已经打开的,可以直接对他们进行读写操作,它们只能在CLI(command-line interface,命令行界面)模式中使用,在Http模式时,它们是未定义的。 而他们的打开副本php://stdin、php://stdout、php://stderr 也无法输出内容到http浏览器,经测试:写入php://stderr的内容将会输入到默认站点的错误日志中,其它两种无任何效果。 STDIN/STDOUT/STDERR简介:原始流流打开副本描述STDINphp://stdin标准输入(standard input),只读,用于从控制台输入内容; STDOUTphp://stdout标准输出(standard output),只写,用于向控制台输出正常信息; STDERRphp://stderr错误输出(standard error),只写,用于向控制台输出错误信息; 官方推荐使用常量 STDIN、 STDOUT 和 STDERR 来代替它们手动打开的副本封装器php://stdin、 php://stdout 和 php://stderr。 二、PHP STDIN用法: PHP语言中"STDIN"用于从控制台读取内容,遇到此常量或者通过fopen()函数打开php://stdin脚本将会等待用户输入内容,直到用户按下回车键提交。 新建文件demo.php <?php echo "请输入内容:"; $input = fgets(STDIN); echo sprintf("输入的内容为: %s\n", $input); $handle = fopen('php://stdin', 'r'); echo "请输入: "; $stdin = fread($handle, 10); //最多读取10个字符 echo sprintf("输入为: %s\n", $stdin); fclose($handle); //php demo.php 运行代码,键盘输入123,输出结果如下 //请输入内容:123 //输入的内容为: 123 //请输入: 456 //输入为: 456 三、PHP STDOUT用法: PHP语言中STDOUT用于向控制台输出标准信息;向此常量、或者向fopen()函数打开的php://stdout写入的内容将直接输出到控制台的标准输出;标准输出的内容可以用过">“或者"1>“重定向到指定地方,比如文件。 <?php fwrite(STDOUT, "STDOUT写入的正常输出;\n"); $stdout = fopen("php://stdout", "w"); fwrite($stdout, "php://stdout写入的正常输出;\n"); fclose($stdout); // php demo....

January 11, 2023 · 1 min · Leanku