PHP 逻辑运算符与位运算符
做到好多道这样的题……基本上没有考虑对过。
下面程序中$b的输出结果是( A )。
<?php $a=3; $b=4; if($a||$b=5){ echo 'todo'; } echo $b; ?>
A. todo4 B.5 C.3 D.false
这题之所以选A,在于运算到$a
时已经是True
了,逻辑运算符不会去运算后面的$b=5
所以$b
并未改变其值。
做到好多道这样的题……基本上没有考虑对过。
下面程序中$b的输出结果是( A )。
<?php
$a=3;
$b=4;
if($a||$b=5){
echo 'todo';
}
echo $b;
?>
A. todo4 B.5 C.3 D.false
这题之所以选A,在于运算到$a
时已经是True
了,逻辑运算符不会去运算后面的$b=5
所以$b
并未改变其值。
昨天做到这样一道题目:
6.下面哪个表达式不能将两个字符串$s1和$s2串联成一个单独的字符串( )。
A.$s1+$s2
B."{$s1}{$s2}"
C.$s1.$s2
D.implode('',array($s1,$s2))
implode()是什么样完全不知道,加上被其他语言的误导误以为A是可以的(其实是不行的,运算时会转换成数值)
PHP手册中,implode可以将一维数组转换成字符串,也就起到了粘合作用。string implode ( string $glue , array $pieces )
$glue
也就是连接符,用什么来连接,而后面则是选择一个数组
W3School中的例子:
<?php
$arr = array('Hello','World!','Beautiful','Day!');
echo implode(" ",$arr);
?>
结果是Hello World! Beautiful Day!
扩展阅读:
empty()
函数参数是非或非零的值,则empty()
返回FALSE
:
""
,0
,"0"
,NULL
,FALSE
,array()
,var
$var
都被认为是空,如果函数为空,则返回TRUE
。
isset()
参数存在,则返回TRUE
,否则返回FALSE
,如果使用isset()
测试一个被设置成NULL
的变量或者使用unset()
释放了一个变量,则返回FALSE
。
复习:NULL
字节("\0"
)并不等同于PHP的NULL
函数。
注:判断一个变量存在且不为空:!empty($var)
- 推荐
内置结构、关键词以及用户自定义类名和函数名不区分大小写(如echo while class名称,function名称),而变量名严格区分大小写。
有效变量名以字母和下划线开头,不能以数字开头,中间不能使用空格,用点分开。(可以使用中文)
系统关键词可以在PHP中作为变量名使用(但最好不要)
附:变量范围:如果不是在函数中声明,则一般在一个页面所有开启PHP模式下有效。
PHP的变量类型有以下几种:
标量类型
复合类型
特殊类型
貌似在兔子书上没有看到过,传统的赋值方法传值大致是变量A = 变量B ,而引用赋值相当于“一根绳上的蚂蚱”,A变化同样会引起B变化,同样的B变化会引起A变化。(传值更快速)
$foo = 'Bob'
$bar = &$foo //此时$bar为'Bob'
$bar = "My name is Tom";
echo $foo //此时会输出"My name is Tom"
but:
$bar = &(4 * 1);
function test() {
return 2
}
$foo = &test();
都是非法的,变量必须要有名字。
但他们还是两个变量,所以用unset
销毁其中一个的时候另一个不会消失。
这里有一道题目
<?php
$a= "hello";
$b= &$a;
unset($b);
$b= "world";
echo $a;
?>
请问输出结果是:
A.hello B.world C.NULL D.unset
就直接解释了unset()
释放变量后另一个变量不会消失,而关联会被取消的问题,所以输出的才是hello
今天某个小弟弟又来问了一道题(格式什么的早已抛之脑后……我完了规范格式长啥样了):
#include<stdio.h>
main(void){
int a,i;
a = 0;
for(i = 1;i < 5; i++)
{
switch (i)
{
case 0:
case 3:
a+=2;
case 1:
case 2:
a+=3;
default:
a+=5;
}
}
printf("%d\n",a);
}
题目是酱紫滴(╮(╯-╰)╭某个小弟弟问的):
以下while循环中,循环体执行的次数是()
k = 1;
while(--k)
k = 10;
A、10次 B、无限次 C、1次 D、一次都不
每次用到都会忘记(归根结底果然是用得太少吧)
其实还是很简单的,简单的link
<link rel="icon" type="image/x-icon" href="">
PS:只要目录存在favicon.ico 就算不加这段也可以,但对SEO不友好,各种都会默认你无icon,此外,系统会频繁读取,还是定义的好=A=
复习一下:how to add CSS
<link rel="stylesheet" type="text/css" href="">
text-intent
:
文本缩进,与background
配合可以发挥添加icon的效果(嘛虽然貌似伪元素:before
也可以)
text-decoration
:
有underline
(下划线)overline
(上划线)line-through
(删除线)blink
(闪烁)none
(无)
去除超链接下划线:text-decoration:none
前面两个的扩展阅读:http://www.w3school.com.cn/css/css_text.asp
text-shadow
:
CSS3中的新增属性,所以对IE支持不好(IE9及以下)[自觉这东西好看与否完全取决于你的美术水平]
如:
h1
{
text-shadow: 5px 5px 5px #FF0000;
}