【问题标题】:How to Initilize a variable to use it later in php? [closed]如何初始化一个变量以便稍后在 php 中使用它? [关闭]
【发布时间】:2020-05-18 09:31:50
【问题描述】:

我想初始化一个变量,并想稍后在我的 foreach 循环中使用它,下面是我的工作:

$lastdepdate = "";

$resultDEP  = "SELECT * FROM mytable";

foreach($resultDEP as $rows){
    $lastdepdate         = trim($row['LastDepDate']);
}

我正在从我的表中获取日期并与今天的日期进行检查 AND

if ($AssetClassID > 01) {
    $returnDep  = $depSL;
} else if($AssetClassID > 02){
    $returnDep  = $Cost;
}

$DepAmount      = $returnDep;

如何在 if 和 else if 循环中实现这一点?

【问题讨论】:

  • 你想初始化你的变量是什么意思?什么时候初始化??你什么时候在foreach循环中使用它?清晰度不够
  • 我想将 foreach 结果存储到一个变量以及 for if 语句中,但是由于它没有首先初始化,所以它抛出了一个错误,那么我该如何完成这个任务呢?
  • 这是因为 if 语句范围和 foreach 循环可能相同的问题,但我需要的是得到一个答案,通过它我可以通过先初始化然后使用将值存储到变量中它在 if 语句块和 foreach 块中,因此它可能具有值,是吗?还是我应该尝试任何其他选择?

标签: php if-statement foreach


【解决方案1】:

iffor 语句之前定义变量。 你也可以定义一个数组

<?php
$arr = array();

if ($condition == true) {
    $arr[] = "Val";
} else {
    $arr[] = "OtherVal";
}

DoSomething($arr[0]);


?>

这样,您不必担心在访问循环中定义的变量时遇到问题。这是因为向数组中添加一些东西并不能算作在循环中定义变量。相反,它就像运行一个函数。

对于foreach 循环,如果数组方法不起作用,(应该),试试这个:

<?php
$RandomVar = null;
function setIt($v) {
  $RandomVar = $v;
}
function getIt() {
  return $RandomVar;
}

foreach($arr as $node) {
  //do whatever
  setIt($whatever);
}

DoWhatever(getIt());

?>

【讨论】:

  • 我在 if 和 foreach 语句之前定义了一个变量,查看我的代码块,但它不起作用。
  • 数组方法有效吗?
  • 它在 if 语句中有效,但在 foreach 语句中无效!
  • 如果你在数组中添加多个东西,每个变量应该仍然存在。如果不是,请尝试上述方法。
猜你喜欢
  • 1970-01-01
  • 2019-08-28
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多