CodeSky 代码之空

随手记录自己的学习过程

PHP strcmp()比较字符串大小

2014-01-24 12:19分类: PHP评论: 0

题目如下: 2.以下程序运行结果为( D )。

1<?
2$str = "LAMP";
3$str1 = "LAMPBrother";
4$strc = strcmp($str, $str1);
5switch ($strc){
6	case 1:
7		echo "str > str1";
8		break;
9	case -1:
10		echo "str < str1";
11		break;
12	case 0:
13		echo "str = str1";
14		break;
15	default:
16		echo "str <> str1";
17}
18?>
19

A.str > str1 B.str < str1 C.str = str1 D.str <> str1

阅读更多 →

PHP 定界符的使用

2014-01-24 12:13分类: PHP评论: 1

题目如下:

17.下面的语句输出结果(A )。

1<?php
2	$foo = 'test';
3	$bar = <<<'EOT'
4		 $foo bar
5	EOT;
6	echo $bar;
7?>
8

A.$foo bar; B.'EOT' $foo bar EOT; C.test bar; D.'EOT' test bar EOT;

书上说定界符和双引号起到了一样的效果 注意事项: EOT所在行不能包括其他任何字符,尤其意味着该标识符不能被锁紧,而且唉结束标记与分号之前和之后都不能有任何空格和制表符。

但是为什么这个没有转换呢,似乎因为这是''引起来的,如果没有单引号或者改为双引号,就起到了双引号的作用。

当然,据说定位符很少使用。

阅读更多 →

PHP 逻辑运算符与位运算符

2014-01-24 12:03分类: PHP评论: 0

做到好多道这样的题……基本上没有考虑对过。

  1. 下面程序中$b的输出结果是( A )。
1<?php
2	$a=3;
3	$b=4;
4	if($a||$b=5){
5		echo 'todo';
6	}
7	echo $b;
8?>
9

A. todo4 B.5 C.3 D.false

这题之所以选A,在于运算到$a时已经是True了,逻辑运算符不会去运算后面的$b=5所以$b并未改变其值。

阅读更多 →

PHP implode()函数小解

2014-01-24 11:44分类: PHP评论: 0

昨天做到这样一道题目: 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中的例子:

1<?php
2$arr = array('Hello','World!','Beautiful','Day!');
3echo implode(" ",$arr);
4?>
5

结果是Hello World! Beautiful Day!

扩展阅读:

  1. http://www.php.net/implode
  2. http://www.w3school.com.cn/php/func_string_implode.asp
阅读更多 →

PHP中empty()和isset()区别

2014-01-24 11:31分类: PHP评论: 0

empty()函数参数是非或非零的值,则empty()返回FALSE

""0"0"NULLFALSEarray()var $var都被认为是空,如果函数为空,则返回TRUE

isset()参数存在,则返回TRUE,否则返回FALSE,如果使用isset()测试一个被设置成NULL的变量或者使用unset()释放了一个变量,则返回FALSE

复习:NULL字节("\0")并不等同于PHP的NULL函数。 注:判断一个变量存在且不为空:!empty($var) - 推荐

阅读更多 →

PHP变量命名规则与范围

2014-01-24 11:26分类: PHP评论: 0

内置结构、关键词以及用户自定义类名和函数名不区分大小写(如echo while class名称,function名称),而变量名严格区分大小写

有效变量名以字母和下划线开头,不能以数字开头,中间不能使用空格,用点分开。(可以使用中文)

系统关键词可以在PHP中作为变量名使用(但最好不要

附:变量范围:如果不是在函数中声明,则一般在一个页面所有开启PHP模式下有效。

阅读更多 →

PHP几个变量类型的一点注意事项

2014-01-24 11:18分类: PHP评论: 0

PHP的变量类型有以下几种:

  1. 标量类型
    • boolean(布尔型)
    • integer(整型)
    • float(浮点型,也称double)
    • string(字符串)
  2. 复合类型
    • array(数组)
    • object(对象)
  3. 特殊类型
    • resource(资源)
    • NULL
阅读更多 →

PHP引用赋值

2014-01-24 10:42分类: PHP评论: 0

貌似在兔子书上没有看到过,传统的赋值方法传值大致是变量A = 变量B ,而引用赋值相当于“一根绳上的蚂蚱”,A变化同样会引起B变化,同样的B变化会引起A变化。(传值更快速)

1$foo = 'Bob'
2$bar = &$foo //此时$bar为'Bob'
3
4$bar = "My name is Tom";
5echo $foo //此时会输出"My name is Tom"
6

but:

1$bar = &(4 * 1);
2
3function test() {
4	return 2
5} 
6
7$foo = &test();
8

都是非法的,变量必须要有名字。

但他们还是两个变量,所以用unset销毁其中一个的时候另一个不会消失。

这里有一道题目

1<?php
2	$a= "hello"; 
3	$b= &$a;
4	unset($b);
5	$b= "world";
6	echo $a;
7?>
8

请问输出结果是: A.hello B.world C.NULL D.unset 就直接解释了unset()释放变量后另一个变量不会消失,而关联会被取消的问题,所以输出的才是hello

阅读更多 →

DOCTYPE的重要性与意义

2014-01-23 23:53分类: HTML评论: 0

今天给草草布置作业的时候遇到了我的导航条不兼容的问题,而她用的是IE10,让我以为IE10不支持我写的代码,纠结了好久,可是同样这么写,我的社团期末作业(山寨)却是兼容的,这让我很费解。

研究了半天发现IE6以上理论上就应该是兼容的,为什么不行呢?远程控制之后发现解析为IE5的模式了,难怪不行,可是为什么会被误读,原因还是DOCTYPE

DOCTYPE给了浏览器解读的方向,加上<!DOCTYPE HTML>的话,用的就是HTML5的标准,否则的话是XHTML 1.0

换言之,添加DOCTYPEcharset一样是必须养成的习惯。

注: 完整版:

1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
阅读更多 →

关于栈的进出

2014-01-23 23:44分类: C评论: 0

首先我们来看一个模型: ![栈的抽象模型][1]

(这个模型我也画了好一会儿……)我们把栈想象成一段不封口的容器,元素想象成木块。

题目如:

设栈S的初始状态为空,元素a,b,c,d,e,f,g依次入栈,以下出栈序列不可能出现的是( )。

A.a,b,c,e,d,f,g B.b,c,a,f,e,g,d C.a,e,d,c,b,f,g

D.d,c,f,e,b,a,g E.g,e,f,d,c,b,a

阅读更多 →
共 525 篇文章,53 页
...