01 2025 档案

摘要:随着Web应用日渐成熟,“有状态性”也逐步成为一个常见需求。有状态应用是指:访问者浏览网站时,有状态应用能跟踪记录这个访问者的信息。 作为Web服务器和客户相互通信所使用的协议,HTTP设计为一个无状态协议。不过,PHP提供了一组方便的会话管理函数,使得实现有状态应用不再那么困难。 会话通常用于在请 阅读全文
posted @ 2025-01-23 23:12 kksllss 阅读(4) 评论(0) 推荐(0) 编辑
摘要:问题 希望由一个字段名数组构造一个INSERT或UPDATE查询。例如,希望在数据库中插入一个新用户。不是硬编码写入用户信息的各个字段(如用户名、email地址、邮编、出生日期等),可以把这些字段名放在一个数组中,并使用这个数组建立查询。这样更易于维护,特别是如果需要根据条件用相同的字段集进行插入( 阅读全文
posted @ 2025-01-23 22:12 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:问题 希望为用户、文章或要增加到数据库的其他对象指定一个唯一ID。 解决方案 使用PHP的unigid()函数生成一个标识符。如果要限制标识符中的字符集,可以将它传入md5(),这样返回的字符串中只包含数字和a到f的字母。 使用了这两个技术来创建标识符。 创建唯一标识符 $user = 'admin 阅读全文
posted @ 2025-01-23 05:02 kksllss 阅读(8) 评论(0) 推荐(0) 编辑
摘要:问题 希望访问一些信息来帮助你调试数据库问题。例如,一个查询失败时,希望查看数据库返回的错误消,息。 解决方案 执行一个操作后,如果操作失败,使用PD0::errorCode()或PD0Statement::errorCode()得到一个错误码。相应的errorInfo()方法可以返回错误的更多信息 阅读全文
posted @ 2025-01-23 01:26 kksllss 阅读(10) 评论(0) 推荐(0) 编辑
摘要:问题需要保证文本或二进制数据对于查询是安全的。 解决方案 使所有查询都使用占位符,这样prepare()和execute()就能对字符串完成转义。使用占位符的不同方法。如果需要自行转义,可以使用PD0::quote()方法。 在极少数情况下,可能希望对来自用户输入的SQL通配符进行转义。 手动加引号 阅读全文
posted @ 2025-01-22 23:24 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:问题 希望知道一个SELECT查询返回了多少行,或者希望知道INSERT、UPDATE或DELETE查询改变了多少行。 解决方案 如果让PD0::exec()执行一个INSERT、UPDATE或DELETE查询,exec()的返回值就是所修改的行数。 如果让PD0::prepare()和PDosta 阅读全文
posted @ 2025-01-22 22:53 kksllss 阅读(5) 评论(0) 推荐(0) 编辑
摘要:问题 希望多次运行同一个查询,每次换入不同的值。 解决方案 用PD0::prepare()建立查询,然后在prepare()返回的已准备语句上调用execute()来运行这个查询。传入prepare()的查询中的占位符被execute()替换为具体的数据。 运行已准备语句 // 数据库连接信息 $u 阅读全文
posted @ 2025-01-21 21:34 kksllss 阅读(4) 评论(0) 推荐(0) 编辑
摘要:在PHP中,query() 和 exec() 是用于执行SQL语句的两种不同方法,它们主要在用途、返回值和处理方式上有所不同。以下是对这两个方法的详细比较: 用途 query():主要用于执行返回结果集的SQL查询,例如 SELECT 语句。它也可以用于执行不返回结果集但影响数据库结构的语句(如 I 阅读全文
posted @ 2025-01-21 16:32 kksllss 阅读(8) 评论(0) 推荐(0) 编辑
摘要:问题 希望增加、删除或修改SQL数据库中的数据。 解决方案 使用PD0::exec()发送一个INSERT、DELETE或UPDATE命令。 使用PDO::exec() $db->exec("INSERT INTo family (id,name) VALUES(1,'Vito')"); $db-> 阅读全文
posted @ 2025-01-21 14:35 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:问题 希望采用一种简洁的方法执行查询并获取返回的数据。 解决方案 使用fetchAll()一次获取查询的所有结果。 $user = 'admin'; $password = '123456'; $db = new PDO('mysql:host=127.0.0.1;port=3306;dbname= 阅读全文
posted @ 2025-01-21 01:24 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:问题 希望从数据库获取一些数据。 解决方案 使用PDO::query()向数据库发送SQL查询,然后利用一个foreach循环获取每行结果。 向数据库发送查询 // 设置数据库连接所需的用户名 $user = 'admin'; // 设置数据库连接所需的密码 $password = '123456' 阅读全文
posted @ 2025-01-20 18:46 kksllss 阅读(8) 评论(0) 推荐(0) 编辑
摘要:问题 希望根据当前日期自动创建一系列下拉菜单 解决方案 创建一个DateTime对象,然后循环处理所关心的日期,并用modify()方法修改对象。 基于日期生成下拉菜单选项 $options = array(); $when = new DateTime(); for ($i = 0; $i < 7 阅读全文
posted @ 2025-01-19 20:39 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:问题 一个表单元素允许用户选择多个选项,如下拉菜单或一组复选框,不过PHP只能看到其中一个提交值。 解决方案 表单元素名末尾加一对中括号([])。 命名一组复选框 <input type="checkbox"name="boroughs[]" value="bronx"> The Bronx Bro 阅读全文
posted @ 2025-01-19 17:22 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:问题 你在使用一个老版本的PHP,希望访问表单输入变量,但不允许恶意用户在你的程序中设置任意的全局变量。 解决方案 最容易的解决方案是使用PHP5.4.0或以后版本。从这个版本开始,去除了register_globals配置指令,正是这个配置指令导致了全局变量注入问题。 如果使用较早版本的PHP,可 阅读全文
posted @ 2025-01-19 16:31 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:问题 希望防止用户将同一个表单提交多次。 解决方案 在表单中包含一个隐藏域,并指定一个唯一的值。验证表单时,查看提交的表单是否已经有这个值。 如果有,则拒绝提交。如果还没有,则处理表单,并记录这个值以备以后使用。 另外,可以使用JavaScript,使得一旦表单提交就禁用表单Submit(提交)按钮 阅读全文
posted @ 2025-01-19 04:17 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:问题 表单中输入的数据有问题时,希望在有问题的输入域旁边输出错误消息,而不是在表单最上面显示一个通用的错误消息。还希望保留用户在表单中输入的值,使他们不用再重新输入。 解决方案 验证时,将表单错误记录到一个数组中,以元素名为键。然后当显示表单时,在各个元素旁边输出适当的错误消息。为了保留用户输入,可 阅读全文
posted @ 2025-01-19 04:12 kksllss 阅读(4) 评论(0) 推荐(0) 编辑
摘要:问题 希望使用一个显示多页面的表单,而且从一个页面切换到下一个页面时要保留数据。例如,可能想建立表单做一个调查,由于问题太多,所以无法把所有问题都放在一个页面中。 解决方案 使用会话跟踪来存储各个阶段的表单信息,另外使用一个变量跟踪要显示哪个阶段。示例9-21展示了4个文件,这些文件对应一个两页面表 阅读全文
posted @ 2025-01-18 02:01 kksllss 阅读(4) 评论(0) 推荐(0) 编辑
摘要:问题 希望处理用户上传的一个文件。 解决方案 使用$FILES数组获得上传文件的有关信息。 // 检查请求方法是否为GET if($_SERVER['REQUEST_METHOD'] == 'GET'){ }else{ // 如果请求方法不是GET(即表单提交后),则处理文件上传 // 检查是否有名 阅读全文
posted @ 2025-01-18 00:46 kksllss 阅读(5) 评论(0) 推荐(0) 编辑
摘要:问题 希望在一个HTML页面上安全地显示用户输入的数据。例如,允许用户为一个博文增加评论,但不希望评论中的HTMIL或JavaScript带来问题。 解决方案 在显示用户输入之前,先将用户输入传入htmlentities()。**** 转义HTML print 'The comment was: ' 阅读全文
posted @ 2025-01-17 18:30 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:问题 希望用户不要输入一个仿造的信用卡号。 解决方案 is_valid_credit_card()函数可以告诉你所提供的一个信用卡号在语法上是否合法。 验证信用卡号 function is_valid_credit_card($s){ // 删除非数字字符,并反向 $s = strrev(preg_ 阅读全文
posted @ 2025-01-17 03:56 kksllss 阅读(5) 评论(0) 推荐(0) 编辑
摘要:问题 希望确保用户输入的一个日期或时间是合法的。例如,希望确保用户不会试图计划在8月45日举办某个活动,也不会提供一个已经过期的信用卡。 解决方案 如果表单将月、日和年作为单独的元素,可以把这些值传入checkdate()。这会指出所提供的月、日和年是否合法。 检查一个特定的日期 if(! chec 阅读全文
posted @ 2025-01-17 03:54 kksllss 阅读(7) 评论(0) 推荐(0) 编辑
摘要:问题 希望确保只选中合法的复选框。 解决方案 对于单个复选框,确保如果提供一个值则应当是正确的值。如果未为复选框提供值,那么这个复选框不应选中。 验证单个复选框 //生成复选框 echo ""; $value ='yes'; echo " Subscribe?"; echo ""; echo ""; 阅读全文
posted @ 2025-01-17 00:02 kksllss 阅读(5) 评论(0) 推荐(0) 编辑
摘要:问题 希望确保从一组单选钮选择了一个合法的单选钮。 解决方案 使用一个值数组来生成菜单。然后验证这个输入,检查所提交的值在这个数组中。使用array_key_exists()来完成验证。 //生成单选钮 $choices = array('eggs' => 'Eggs', 'toast' => 'T 阅读全文
posted @ 2025-01-16 23:51 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:问题 希望确保从select元素生成的一个下拉菜单中选择了一个合法的选项。 解决方案 使用一个值数组生成菜单。然后检查输入值是否在这个数组中来验证输入。使用in_array()来完成这个验证。 用in_array()验证下拉菜单 $choices = array('Eggs','Toast','Co 阅读全文
posted @ 2025-01-16 03:13 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:问题 希望知道用户提供的一个email地址是否合法。 解决方案 使用FILTER_VALIDATE_EMAIL过滤器。它会(基本上)根据RFC5321中的规则指出一个email地址是否合法。 验证email地址 $email = filter_input(INPUT_POST, 'email', F 阅读全文
posted @ 2025-01-16 00:58 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:问题 希望确保在一个表单输入框中输入了一个数。例如,不希望一个人说他的年龄oldenough(足够老)或者是tangerine(桔红色),而应当提供类似13或56的值。 解决方案 如果需要一个整数,可以使用FILTER_VALIDATE_INT过滤器: 用FILTER_VALIDATE_INT验证数 阅读全文
posted @ 2025-01-16 00:56 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:问题 希望确保必须为一个表单元素提供一个值。例如,希望保证一个文本框不为空。 解决方案 使用filter_has_var()查看这个元素在相应的输入数组中是否存在。 严格表单验证 // 检查POST请求中是否存在'first_name'字段,并且这个字段的长度大于0 if(!(filter_has_ 阅读全文
posted @ 2025-01-14 03:51 kksllss 阅读(6) 评论(0) 推荐(0) 编辑
摘要:根据请求方法决定做什么 <!-- 如果请求方法是GET,显示表单 --> <form action="<?php echo htmlentities($_SERVER['SCRIPT_NAME']) ?>" method="post"> <!-- 表单的action属性设置为当前脚本的名称,确保表单 阅读全文
posted @ 2025-01-14 02:46 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:PHP处理一个页面时,它会检查URL和表单变量、上传的文件、可应用的cookie,以及Web服务器变量和环境变量。 这些可以通过以下数组直接访问:$_GET、$_POST、$_FILES、$_COOKIE、$_SERVER和$_ENV。 它们分别包含查询字符串中设置的所有变量、post请求体中设置的 阅读全文
posted @ 2025-01-14 02:26 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:用户注册你的网站时,要确认他们提供了一个正确的email地址,这会很有帮助。要验证用户提供的email地址,可以向他们注册时提供的地址发送一个email。如果他们几天后仍未访问email中包含的特殊URL,则撤销他们的帐户。 这个系统包括3个部分。 第一部分是notify-user,php程序,它向 阅读全文
posted @ 2025-01-13 19:22 kksllss 阅读(6) 评论(0) 推荐(0) 编辑
摘要:问题 希望将移动设备或平板设备浏览器重定向到专门为这些设备优化的一个替代网站或替代内容。 解决方案 使用get_browser()返回的对象来确定这是否是一个移动浏览器: if($browser->ismobilebrower){ // 输出移动设备布局 }else{ // 输出桌面计算机布局 } 阅读全文
posted @ 2025-01-12 02:42 kksllss 阅读(6) 评论(0) 推荐(0) 编辑
摘要:问题 希望PHP与Apache请求进程的其他部分通信。这包括在access_log中设置变量 解决方案 使用apache_note(): // 获得值 $session = apache_note('session'); // 设置值 apache_note('session', $session) 阅读全文
posted @ 2025-01-12 02:35 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:根据环境变量调整行为 $version =(isset($_SERVER['SITE_VERSION']) ? $_SERVER['SITE_VERSION'] : 'guest'); //如果用户未能正确登录,重定向到http://guest.example.com if('members' == 阅读全文
posted @ 2025-01-12 02:25 kksllss 阅读(7) 评论(0) 推荐(0) 编辑
摘要:问题 希望得到一个环境变量的值。 解决方案 使用getenv(): $path = getenv('PATH'); 如果将PHP作为一个ISAPI模块运行,getenv()数则不可用。 阅读全文
posted @ 2025-01-12 02:17 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:问题 希望向支持自动解压缩的浏览器发送压缩的内容。 解决方案 将以下设置增加到php.ini文件: zlib.output_compression=1 浏览器通过Accept-Encoding首部告诉服务器它可以接受压缩的响应。如果一个浏览器发送了Accept-Encoding:gzip或Accep 阅读全文
posted @ 2025-01-12 02:14 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:问题 希望在发送首部或cookie之前就开始生成输出。 解决方案 在页面最上面调用ob_start(),另外在最下面调用ob_end_flush()。这样一来,生成输出的命令和发送首部的命令就可以混杂在一起。调用ob_end_flush()之前不会发送输出。 // ob_start(); I hav 阅读全文
posted @ 2025-01-12 01:58 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:问题 希望强制将输出发送到浏览器。例如,希望在完成一个可能很慢的数据库查询之前为用户提供一个状态更新。 解决方案 使用flush(): print 'Finding identical snowfakes...'; flush(); $sth = $dbh->query('SELECT shape, 阅读全文
posted @ 2025-01-12 01:24 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:问题 希望将用户自动重定向到一个新的URL。例如,成功保存表单数据后,希望将用户重定向到一个确认页面,确认数据已经保存。 解决方案 输出后,使用header()发送一个Location首部并指定新URL,然后调用exit(),以避免再输出其他内容: header('Location: http:// 阅读全文
posted @ 2025-01-12 01:15 kksllss 阅读(6) 评论(0) 推荐(0) 编辑
摘要:问题 希望显式设置HTTP状态码。例如,希望指示用户没有得到授权来查看这个页面,或者这个页面未找到。 解决方案 使用http_response_code()设置响应: http_response_code(401); 使用http_response_code()时要提供状态码,PHP会负责设置适当的 阅读全文
posted @ 2025-01-12 00:44 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:问题 希望写一个HTTP首部。 解决方案 调用header()函数: // 指出这是一个PNG header('Content-Type: image/png'); Web服务器和PHP通常会负责为所有必要的首部设置适当的值来支持你的脚本。如果不能让服务器计算首部值,或者希望改变默认行为,可以使用h 阅读全文
posted @ 2025-01-11 23:16 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:问题 希望读取一个HTTP请求首部。 解决方案 要读取一个首部,可以查看$_SERVER超级全局变量数组: //User-Agent首部 echo $_SERVER['HTTP_USER_AGENT']; 要读取所有首部,可以调用getallheaders(): $headers = getallh 阅读全文
posted @ 2025-01-11 23:03 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:希望更多地控制用户登录过程,如提供你自己的登录表单。 将认证状态存储在一个cookie中,或者存储为会话的一部分。用户成功登录时,将他的用户名(或另一个唯一值)放在一个cookie中。另外还要包含用户名的一个散列值和一个密语,使用户无法仅由用户名建立认证cookie: $secret_word = 阅读全文
posted @ 2025-01-10 03:23 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:希望利用PHP用密码保护网站的某些部分。不是将密码保存在一个外部文件中并由Web服务器来处理认证,而是希望在一个PHP程序中实现密码认证逻辑。 function validate($user, $pass){ /*可以替换为适当的用户名和密码检查,如检查一个数据库*/ $users = array( 阅读全文
posted @ 2025-01-09 04:31 kksllss 阅读(7) 评论(0) 推荐(0) 编辑
摘要:希望直接访问一个请求的体,而不是访问PHP放在$POST中的解析后的数据。例如,希望处理一个XML文档,这个文档作为Web服务请求的一部分提交。 解决方案解决方案 读取php://input流: $body = file_get_contents('php://input'); file_get_c 阅读全文
posted @ 2025-01-09 01:20 kksllss 阅读(7) 评论(0) 推荐(0) 编辑
摘要:需要构造一个链接,其中的查询字符串中包含名/值对。 使用http_build_query()函数: $vars = array('name' => 'Oscar the Grouch', 'color' => 'green', 'favorite_punctuation' => '#'); $que 阅读全文
posted @ 2025-01-09 01:10 kksllss 阅读(7) 评论(0) 推荐(0) 编辑
摘要:希望删除一个cookie,不让浏览器将它发回给服务器。例如,使用cookie跟踪网站的用户登录情况时,如果一个用户注销,就可以删除相应的cookie。 调用setcookie(),不过不提供cookie的值,并指定过去的一个时间作为到期时间: setcookie('user','',1); 除了值和 阅读全文
posted @ 2025-01-08 22:22 kksllss 阅读(20) 评论(0) 推荐(0) 编辑
摘要:读取之前设置的一个cookie的值 // 查看$_COOKIE超级全局变量数组: if(isset($_COOKIE['user'])){ print "You ate a {$_COOKIE['user']} cookie."; }else{ print "Please ate a cookie. 阅读全文
posted @ 2025-01-08 21:14 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:设置一个cookie,使网站能识别来自同一个Web浏览器的后续请求 bool setcookie ( string $name [, string $value = "" [, int $expires = 0 [, string $path = "" [, string $domain = "" 阅读全文
posted @ 2025-01-08 18:28 kksllss 阅读(18) 评论(0) 推荐(0) 编辑
摘要:不希望在每个页面中包含所有类定义,而希望只是动态加载这个页面中必要的类定义. 通常情况下,实例化一个未定义的类时,PHP会中止运行,指出一个致命错误,因为它无法找到你要的类。因此,一般会加载一个页面可能用到的所有类,而不论是否会真正调用这些类。 这就带来一个副作用,会增加处理时间,因为PHP必须解析 阅读全文
posted @ 2025-01-08 04:08 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:要检查作为函数参数传入的一个值是否是某个特定类的实例,可以在函数原型中指定类: public function add(Person $person){ //将$person增加到地址 } 其他情况下,可以使用instanceof操作符: $media = get_something_from_ca 阅读全文
posted @ 2025-01-08 02:21 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:希望检查一个对象,查看它有哪些方法和属性,从而可以编写适用任何通用对象的代码,而不论对象的具体类型是什么。 可以使用Reflection类探查对象的信息。要快速查看类的信息,可以调用Refection::export(): class Person{ public $name; protected 阅读全文
posted @ 2025-01-08 02:07 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:希望控制使用serialize()和unserialize()处理对象时对象的行为。如果需要建立和关闭与远程资源的连接(如数据库、文件和Web服务),这会很有用。 class LogFile{ protected $filename; protected $handle; public functi 阅读全文
posted @ 2025-01-08 01:45 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:在对象中定义方法并能访问这些方法,而不需要实例化对象。 将方法声明为static: class Format { public static function number($number, $decimals = 2, $decimal = '.',$thousand = ','){ return 阅读全文
posted @ 2025-01-08 00:46 kksllss 阅读(5) 评论(0) 推荐(0) 编辑
摘要:为类定义常量,而不是全局常量。 类常量的定义类似于类属性定义,不过要使用const标签: class Math{ const pi=3.14159;//通用 conste = 2.71828;//常量 $area = Math::pi * $radius * $radius; } 类似静态属性,可以 阅读全文
posted @ 2025-01-07 18:44 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:创建一个抽象(abstract)类,换句话说,就是不能直接实例化的类,不过可以作为子类的一个公共基类。 将类标志为abstract: abstract class Database{} 必须至少在这个类中定义一个抽象方法。可以在方法定义前面加上abstract关键字: abstract class 阅读全文
posted @ 2025-01-06 21:08 kksllss 阅读(2) 评论(0) 推荐(0) 编辑
摘要:1、登录框没有办法 2、分析JS找接口,没有webpack,找不到接口 3、去FUZZ目录,找到包含webpack的目录 4、提取接口,然后构造数据包去访问接口,发现接口居然全部鉴权 5、查看新页面并发现新的JS文件,再次分析接口,发现未鉴权接口 6、对FUZZ到的新登录接口进行参数FUZZ,尝试密 阅读全文
posted @ 2025-01-03 04:18 kksllss 阅读(5) 评论(0) 推荐(0) 编辑
摘要:1、登录框没有办法 2、分析JS找接口,没有webpack,找不到接口 3、去FUZZ目录,找到包含webpack的目录 4、提取接口,然后构造数据包去访问接口,发现接口居然全部鉴权 5、查看新页面并发现新的JS文件,再次分析接口,发现未鉴权接口 6、对FUZZ到的新登录接口进行参数FUZZ,尝试密 阅读全文
posted @ 2025-01-02 21:54 kksllss 阅读(3) 评论(0) 推荐(0) 编辑
摘要:在程序运行时创建和定义一个函数。 使用闭包语法来定义一个函数,并把它存储在一个变量中: // 定义一个变量$increment,并赋值为7 $increment = 7; // 定义一个匿名函数$add,该函数接受两个参数$i和$j,并使用use关键字捕获外部变量$increment // 函数的作 阅读全文
posted @ 2025-01-01 04:04 kksllss 阅读(5) 评论(0) 推荐(0) 编辑
摘要:根据一个变量的值来调用不同的函数 使用call_user_func(): // 定义一个名为 get_file 的函数,它接受一个参数 $filename。 // 这个函数的目的是读取并返回指定文件的内容。 function get_file($filename){ // 使用 file_get_c 阅读全文
posted @ 2025-01-01 03:53 kksllss 阅读(5) 评论(0) 推荐(0) 编辑
摘要:按引用返回一个值,而不是按值返回。这样就无需为变量建立一个重复的副本。 按引用返回变量的语法与按引用传递变量很类似。不过,并不是在参数前加一个&,要把&放在函数名前面: // 定义一个名为array_find_value的函数,它接受两个参数: // $needle(要查找的值,按值传递)和&$ha 阅读全文
posted @ 2025-01-01 01:58 kksllss 阅读(5) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示