PHP语法笔记
首先
个人备忘录。
变量展开
我认为可以像 ${变量名称} 这样使用变量的方法。
<?php
for ($i = 0; $i < 5; $i++) {
${"num" . $i} = $i;
}
echo $num0 . "\n";
echo $num1 . "\n";
echo $num2 . "\n";
echo $num3 . "\n";
echo $num4 . "\n";
?>
0
1
2
3
4
我想表达的是可以用变量来表示变量名的一部分。
我不知道在哪里使用,但这感觉非常划时代,所以我做了备忘录。
参照渡し – 传址调用
在PHP中,是通过引用传递吗?与C语言的感觉不同,所以我总结了一下。
<?php
function double($n){
$n *= 2;
}
$a = 10;
double($a);
echo $a;
?>
10
这就是我感觉到的。
<?php
function double(&$n){
$n *= 2;
}
$a = 10;
double($a);
echo $a;
?>
20
这个也差不多符合感觉。加上「&」的位置和感觉有些不同。
感覺不同了。
<?php
function double($n){
for ($i = 0; $i < 3; $i++) {
$n[$i] *= 2;
}
}
$a = [1, 2, 3];
double($a);
var_dump($a);
?>
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
我之前以为数组是按引用传递的,但似乎不对。
使用foreach循环而不是for循环会变得更加复杂。
我读了下面的内容,对为什么会变成这样非常理解了。
【PHP超入门】关于值的赋值和值传递
【PHP超入门】关于引用(reference)的赋值
偶奇判断能力
因为我对这是什么东西感到困惑,所以我留下了备忘录。
if ($a%2 == 1) {
echo "奇数";
}
if ($a & 1) {
echo "奇数";
}
因为我对PHP中的位运算符经验不足,所以一眼就看不懂。
以md訓練為由進行完全複製操作
https://www.php.net/manual/zh/language.operators.bitwise.php
例名前結果\$a & \$b論理積\$a および \$b の両方にセットされているビットがセットされます\$a | \$b論理和\$a または \$b のどちらかにセットされているビットがセットされます\$a ^ \$b排他的論理和\$a または \$b のどちらか一方にセットされており、両方にセットされていないビットがセットされます~ \$a否定\$a にセットされているビットはセットせず、そうでないものは逆にします\$a << \$b左シフト\$a のビットを左に \$b ビットシフトする (各シフトは “2をかける” ことを意味します)\$a >> \$b右シフト\$a のビットを右に \$b ビットシフトします (各シフトは “2で割る” ことを意味します)
在表示逻辑和运算时,我在表格中遇到了困难。
参考
通过在Qiita的帖子中转义@符号
垂直线