ホームページ バックエンド開発 PHPチュートリアル 関数内で変数を呼び出せないのはなぜですか?

関数内で変数を呼び出せないのはなぜですか?

Jun 13, 2016 pm 12:39 PM
and nbsp

関数内で変数を呼び出せないのはなぜですか?

&lt;?php  <br />
<br />
//定义常量<br />
define("EntTime", "2012-08-01");<br />
define("EntTime2", "2012-08-31");<br />
define("Query_field", "品号");<br />
define("Operate", "包含");<br />
define("requirement", "WDZ");<br />
<br />
//将常量转换为变量<br />
$EntTime = EntTime;<br />
$EntTime2 = EntTime2;<br />
$Query_field = Query_field;<br />
$Operate = Operate;<br />
$requirement = requirement;<br />
<br />
//自定义函数<br />
function jhRepPd(){<br />
	GLOBAL $PUR,$MOC;<br />
	switch($Operate){<br />
		case "包含":<br />
			if($Query_field=="品号"){<br />
				$PUR = "PURTH.TH004 like'%".$requirement."%' AND ";<br />
			}<br />
			break;<br />
	}<br />
}<br />
<br />
//去除日期中的"-"<br />
$a_date = "PURTG.TG003 &gt;='".str_replace("-","",$EntTime)."'";<br />
$b_date = "PURTG.TG003 &lt;='".str_replace("-","",$EntTime2)."'";<br />
<br />
//判断变量是否为空<br />
if(!empty($EntTime) &amp;&amp; !empty($EntTime2) &amp;&amp; $requirement!==""){<br />
	$date = "(".$a_date." AND ".$b_date.") AND ";<br />
	jhRepPd();<br />
};<br />
<br />
//sql语句<br />
$sql = "SELECT * FROM TB where {$date}{$PUR}dbId in('1','2','3')";<br />
<br />
//打印SQL语句<br />
echo $sql;<br />
<br />
?&gt;
ログイン後にコピー
--这是打印结果,但不是正确的。因为函数中的变量没有输出,为什么?<br />
SELECT * FROM TB where (PURTG.TG003 &gt;='20120801' AND PURTG.TG003 &lt;='20120831') AND dbId in('1','2','3')<br />
<br />
--正确的结果应该是:<br />
SELECT * FROM TB where (PURTG.TG003 &gt;='20120801' AND PURTG.TG003 &lt;='20120831') AND PURTH.TH004 like'%WDZ%' AND dbId in('1','2','3')
ログイン後にコピー

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

解決策: 組織では PIN を変更する必要があります。 解決策: 組織では PIN を変更する必要があります。 Oct 04, 2023 pm 05:45 PM

解決策: 組織では PIN を変更する必要があります。

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Sep 22, 2023 am 11:37 AM

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Sep 15, 2023 pm 03:57 PM

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法

Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Sep 14, 2023 pm 03:33 PM

Windows 11でタイトルバーの色を変更するにはどうすればよいですか?

Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Jul 16, 2023 pm 03:29 PM

Windows 11/10修復におけるOOBELANGUAGEエラーの問題

Windows 11 でのディスプレイ スケーリング ガイド Windows 11 でのディスプレイ スケーリング ガイド Sep 19, 2023 pm 06:45 PM

Windows 11 でのディスプレイ スケーリング ガイド

Windows 11で明るさを調整する10の方法 Windows 11で明るさを調整する10の方法 Dec 18, 2023 pm 02:21 PM

Windows 11で明るさを調整する10の方法

iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? Nov 29, 2023 pm 11:21 PM

iPhoneのSafariでプライベートブラウジング認証をオフにする方法は?

See all articles