検索
ホームページバックエンド開発PHPの問題PHP関数にパラメータを渡す方法
PHP関数にパラメータを渡す方法Sep 26, 2019 am 11:51 AM
パラメータ

PHP関数にパラメータを渡す方法

php での関数のパラメータの受け渡しには、形式的なパラメータの受け渡し (C 言語などのプログラミング言語からの用語の借用) があります。

つまり、変数の値を関数のパラメーターに代入することです。関数パラメーターに対して実行されるすべての操作は、元の変数とは何の関係もありません。

//php
function testX( $b )
{
     return $b-=2;
}
$a = 5 ;
$c = testX($a);
print_r($a);//5
print_r($c);//3

そして、アドレス転送(参照転送)とは、変数のアドレスを関数の引数に与えることであり、関数内の引数に対する演算はすべて変数に対する演算と等価です。

//php
function testS( &$b )
{
     return $b-=2;
}
$a = 5 ;
$c = testX($a);
print_r($a);//3
print_r($c);//3

PHP では、関数のパラメーターと変数はすべてメモリ内のスペースを空けますが、通常のパラメーターの受け渡しではパラメーターに値が割り当てられますが、参照の受け渡しでは割り当てられず、変数のアドレスが代入されます。

パラメータが配置されているスペースに移動します。

特に注目すべきは、PHP5以降、参照の受け渡しの書き方が変更されたことです。上記のコードに示すように、PHP の記述方法を他のプログラミング言語と同じ方法に変更します。定義する場合は

& を使用する必要がありますが、呼び出す場合は & を使用する必要はありません。これまでの書き方とは大きく異なります。

//php以前的写法
function &testS( &$b )
{
 return $b-=2;
}
$c = &testS($a);

利点:

個人的には、この書き方の変更は、php 言語の独自性を減らし、他のプログラミング言語の書き方に近づけることだと思います。ある意味、他のプログラミング言語に精通しているプログラマーが PHP をより早く習得できるようになります。コードの読み取りと論理理解の観点から、関数内の変数に対して実行されるすべての操作は完全に無視されます。コードの抽象化にとってはより理にかなっています。

欠点:

開発の最前線にいるプログラマーにとって、これはクレイジーな変更だと思います。特に二次開発をしている人にとっては。二次開発者は、先行開発者に基づいて開発する必要があります。関数を見るとき、私は値による参照関数を & で区別することに慣れています。この記述方法がなければ、すべての関数は同じになります。値による参照関数への呼び出しが含まれる場合、プログラマは、値による参照関数の内部に入る必要があります。コードの詳細を確認する機能。特にプログラムにエラーがある場合。値による参照関数によって変数に加えられたすべての変更を詳細に理解する必要があります。また、& をキャンセルして参照関数を呼び出すということは、プログラムによって呼び出されるすべての関数を確認する必要があることを意味し (どの関数が参照関数であるかわからないため)、その作業負荷は容易に想像できます。

グローバル変数 (global) もあります。これはパラメータを直接かつ迅速に定義する方法です。関数で使用するパラメータをグローバル変数として設定します。このように、関数内の操作では変数自体が直接使用されます。

短いプログラムで使用するのには問題ありませんが、これは外部ファイルを呼び出すときにパラメータを定義する理想的な方法ではありません。

以上がPHP関数にパラメータを渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHP 5.4版本新功能:如何使用callable类型提示参数接受可调用的函数或方法PHP 5.4版本新功能:如何使用callable类型提示参数接受可调用的函数或方法Jul 29, 2023 pm 09:19 PM

PHP5.4版本新功能:如何使用callable类型提示参数接受可调用的函数或方法引言:PHP5.4版本引入了一项非常便利的新功能-可以使用callable类型提示参数来接受可调用的函数或方法。这个新功能使得函数和方法可以直接指定相应的可调用参数,而无需进行额外的检查和转换。在本文中,我们将介绍callable类型提示的使用方法,并提供一些代码示例,

产品参数是什么意思产品参数是什么意思Jul 05, 2023 am 11:13 AM

产品参数是指产品属性的意思。比如服装参数有品牌、材质、型号、大小、风格、面料、适应人群和颜色等;食品参数有品牌、重量、材质、卫生许可证号、适应人群和颜色等;家电参数有品牌、尺寸、颜色、产地、适应电压、信号、接口和功率等。

i9-12900H参数评测大全i9-12900H参数评测大全Feb 23, 2024 am 09:25 AM

i9-12900H是14核的处理器,使用的架构和工艺都是全新的,线程也很高,整体的工作都是很优秀的,一些参数都有提升特别的全面,是可以给用户们带来极佳体验的。i9-12900H参数评测大全评测:1、i9-12900H是14核的处理器,采用了q1架构以及24576kb的制程工艺,提升到了20个线程。2、最大的CPU频率是1.80!5.00ghz,整体主要取决于工作的负载。3、相比较价位来说还是特别合适的,性价比很不错,对于一些需要正常使用的伙伴来说非常的合适。i9-12900H参数评测大全性能跑分

PHP Warning: in_array() expects parameter的解决方法PHP Warning: in_array() expects parameter的解决方法Jun 22, 2023 pm 11:52 PM

在开发过程中,我们可能会遇到这样一个错误提示:PHPWarning:in_array()expectsparameter。这个错误提示会在使用in_array()函数时出现,有可能是因为函数的参数传递不正确所导致的。以下我们来看看这个错误提示的解决方法。首先,需要明确in_array()函数的作用:检查一个值是否在数组中存在。该函数的原型为:in_a

C++程序以给定值为参数,找到双曲正弦反函数的值C++程序以给定值为参数,找到双曲正弦反函数的值Sep 17, 2023 am 10:49 AM

双曲函数是使用双曲线而不是圆定义的,与普通三角函数相当。它从提供的弧度角返回双曲正弦函数中的比率参数。但要做相反的事,或者换句话说。如果我们想根据双曲正弦值计算角度,我们需要像双曲反正弦运算一样的反双曲三角运算。本课程将演示如何使用C++中的双曲反正弦(asinh)函数,使用双曲正弦值(以弧度为单位)计算角度。双曲反正弦运算遵循以下公式-$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})},其中\:In\:是\:自然对数\:(log_e\:k)

100亿参数的语言模型跑不动?MIT华人博士提出SmoothQuant量化,内存需求直降一半,速度提升1.56倍!100亿参数的语言模型跑不动?MIT华人博士提出SmoothQuant量化,内存需求直降一半,速度提升1.56倍!Apr 13, 2023 am 09:31 AM

大型语言模型(LLM)虽然性能强劲,但动辄几百上千亿的参数量,对计算设备还是内存的需求量之大,都不是一般公司能承受得住的。量化(Quantization)是常见的压缩操作,通过降低模型权重的精度(如32bit降为8bit),牺牲一部分模型的性能来换取更快的推理速度,更少的内存需求。但对于超过1000亿参数量的LLM来说,现有的压缩方法都无法保持模型的准确率,也无法在硬件上高效地运行。最近,麻省理工学院和英伟达的研究人员联合提出了一个通用后训练的量化(GPQ, general-purpose po

机器学习超参数调优总结(PySpark ML)机器学习超参数调优总结(PySpark ML)Apr 08, 2023 pm 07:21 PM

ML中的一个重要任务是模型选择,或者使用数据为给定任务找到最佳的模型或参数。这也称为调优。可以对单个的估计器(如LogisticRegression​)进行调优,也可以对包括多种算法、特性化和其他步骤的整个pipeline​进行调优。用户可以一次调优整个Pipeline​,而不是分别调优 Pipeline 中的每个元素。ML中的一个重要任务是模型选择,或者使用数据为给定任务找到最佳的模型或参数。这也称为调优。可以对单个的Estimator​(如LogisticRegression​)进行调优,也

必填参数缺失什么意思必填参数缺失什么意思Sep 19, 2023 pm 03:08 PM

必填参数缺失是指在进行某项操作或者调用某个函数时,必要的参数没有被提供或者没有被正确地传递。在编程中,函数通常会需要一些输入参数来完成特定的任务,必须在调用函数时被提供,如果这些必填参数没有被提供,系统就无法理解如何执行函数,因此会报错或者无法继续执行。必填参数缺失在编程中是一个常见的错误,解决这个问题的方法是检查调用函数的代码,确保所有必填参数都被正确地提供等等。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、