PHP语法和程序语法解释

PHP syntax and programmatical grammar explanation

我有一段代码需要直接从 PHP 翻译成 vb.net/C#。我想请问一下,下面这些用简单的英文表达是什么意思?也许一点点(或更多)的详细说明会很好。开始了。

1.    foreach ($_SESSION[''] as $variable1 => $variable2) {}
2.    $variable .= <<<EOD{ "a":"1", "b":"2","c":"3" },EOD

我想明白他们的意思。也许还有一些关于如何在 asp.net.

中应用它的建议

foreach()

foreach() 遍历数组并将连续的元素分配给指定的变量。例如,您的示例,变量 $_SESSION 被循环,索引(括号中的部分)被分配给 $variable1,值被分配给 $variable2。如果您的数组如下所示:

$_SESSION = array(
    'red'  => 'first element',
    'blue' => 'second element'
);

然后你的foreach()会循环两次。第一次,$variable1 等于 "red",$variable2 等于 "first element"。第二次,$variable1 等于 "blue" 而 $variable2 等于 "second element".

HEREDOC

对于第二部分,有很多事情需要解释。首先,.= 是一个串联。所以:

$variable .= 'value';

等同于:

$variable = $variable . 'value';

接下来,我们有一个叫做 HEREDOC 的东西。这是一种通过将字符串值封装在两个任意字符串之间来将字符串值赋给变量的方法。所以:

$variable .= <<<EOD
{ "a":"1", "b":"2","c":"3" },
EOD;

等同于:

$variable .= '{ "a":"1", "b":"2","c":"3" },'

在您提供的示例中,使用 HEREDOC 格式没有多大意义,因为所有内容很容易放在一行中。但想象一下这样的事情:

$variable = <<<TEXT
Some line of text with a " mark.
Another line of text with a ' mark.
TEXT;

这比下面的更容易阅读和维护:

$variable = "Some line of text with a \" mark.\nAnother line of text with a ' mark.";

在 HEREDOC 中,当您选择的分隔符从最左侧开始单独换行时,字符串结束。

简单说明

  • Foreach - 循环轻松迭代数组从第一个数组元素到最后一个数组元素。检查来自 here 的每个引用,它非常庞大

  • $_SESSION[''] 是 php 中的超级全局变量,其作用域在代码的无限部分中可用。会话以数组形式保存数据,因此循环将适用于每个 session array 变量。

  • $variable 是您创建的局部变量,可以是字符串或整数,类型转换在 php.

  • 中是自动的
  • .= 是将新内容附加到现有字符串内容的字符串连接。例如:

    $string = "first_Name ";
    $string .= "Last_Name";
    
    echo $string; // output - first_Name  Last_Name
    
  • <<<EOD - php 中有四种类型的字符串可用。它们是单引号 (')、双引号 (")Nowdoc (<<<'EOD') 以及 heredoc(<<<EOD) 字符串。看看吧 here