新手入门 --本人初学PHP 新手入门求解问题

<?php
$a=[8,2,1,0,3];
$b=[2,0,3,2,4,0,1,3,2,3,3];
$c="";
foreach($b as $i){
$c.=$a[$i];
// var_dump($c);

}
echo "联系方式:".$c;
?>
$c. 为什么加点拼接不懂 如果不加点会输出0 加了点就会输出18013820100
为什么拼接点不懂
新手入门不懂这个什么意思!
原题意如下:
int[]arr=new int[]{8,2,1,0,3};
int[]index=new int[]{2,0,3,2,4,0,1,3,2,3,3,};
string tel="";
for(int i:index){
tel+=arr[i];
}
system.out.println("联系方式:"+tel);
本题要求不用函数输出联系方式;
实在想不到什么办法 只能用foreach来输出
谁有更好的办法能不用函数输出联系方式最好代码也发一下万分感谢!!
另外给解一下为什么$c为什么要拼接.才能输出正确的联系方式else会输出0

因为 .= 是连接字符串,而 = 则会视作是数字。这里显然要连接所有的数字构成电话。如果用 = ,则结果是最后一次赋值的那个数字。

如果你想求和,和java代码相同的效果,应该是 $c=$c + $a[$i];

php 中 . 表示链接

不加点代表赋值,所以赋值的是$b的最后一个,就是等于0,java里面tel+=arr[i]; ,tel是字符串+=把int强转了。