算法(用九九乘法表写出菱形,阶乘)

$arr = array(0=>1,'aa'=>2, 3, 4);

foreach($arr as $key=> $val)
{

    print_r($key =='aa' ? 5 : $val);

}

考查:类型转换。 因遍历数组第一次的时候,$key和aa的比较实际就是0和aa的比较,一个是int一个是string,这个时候会转换类型,将字符串转换为数字再与数字比较。所以0=='aa'就是0==0,所以为true,也就是输出5。

阶乘:

 

//递归
function fun($n){

if($n==1){

return $n;

}else{

return $n*fun($n-1);

}

}

$n=5;

echo $n."的阶乘是".fun($n);

echo "

"; //非递归 $num=10; $sum=1; for($i=$num;$i>0;$i--){ $sum=$sum*$i; } echo $num."的阶乘是".$sum; 交换两个变量的值 不使用第三方变量: $a=1; $b=4; $a=$a^$b; $b=$a^$b; $a=$a^$b; echo $a.$b; 两个有顺序的数组 将其合并 并排序 不使用函数: $arr=array(2,4,6,8,10,12,16); $b=array(1,3,5,7,9,11,20,21); //合并数组 foreach($b as $key=>$val){ $arr[]=$val; } //冒泡排序 for($i=0;$i=$arr[$j]){ $new=$arr[$j]; $arr[$j]=$arr[$i]; $arr[$i]=$new; } } } print_r($arr);

用九九乘法表写出菱形

算法(用九九乘法表写出菱形,阶乘)_第1张图片

echo "";

for($j=1;$j<=9;$j++){

echo "";

for($z=0;$z<9-$j;$z++){

echo "";

}

for($i=$j;$i>=1;$i--){

echo "";

}

echo "";

}

echo "
{$i}*{$j}=".($i*$j)."
"; echo ""; for($j=1;$j<=9;$j++){ echo ""; for($i=1;$i<=$j;$i++){ echo ""; } echo ""; } echo "
{$i}*{$j}=".($i*$j)."
"; echo ""; for($j=9;$j>=1;$j--) { echo ""; for ($z = 0; $z < 9 - $j; $z++) { echo ""; } for ($i = 1; $i <= $j; $i++) { echo ""; } } echo "
{$i}*{$j}=" . ($i * $j) . "
"; echo ""; for($j=9;$j>=1;$j--){ echo ""; for($i=1;$i<=$j;$i++){ echo ""; } echo ""; } echo "
{$i}*{$j}=".($i*$j)."
";

你可能感兴趣的:(算法(用九九乘法表写出菱形,阶乘))