一 函数
函数名目前不区分大小写。形式:
function funtionName(parameters){function-body}
函数调用时,代码执行权进入函数,函数结束,交回执行权,或者函数碰到return语句,返回,交回执行权。
关于一些字符串函数示例:
<?php
//字符串长度
echo strlen("中国"),"<br/>";
//字符串查找字符位置
$str = "abcdef";
var_dump(strpos($str,"b"));
echo "<br/>";
//替换字符
$str01 = "hi fuck";
echo str_replace("fuck","**",$str01);
//截取字符串
$str02 = "明天是另外一天。";
echo substr($str02,0,6);//明天
//拆分字符串
$str03 = "www,baidu,com";
$arr = explode(",",$str03);//再合起来,用implode
var_dump($arr);
echo "<br/>",$arr[1],"<br/>";//baidu
echo implode($arr,".");
?>
二 数组
1 数组是一组符合数据,可以装下多个值,每个值用不同的键来区分。有索引数组和关联数组。
2 键声明重复,后面值覆盖前面。
3 如果不声明键,默认0,1,2递增。
4 数组单元操作:
end() - 将数组的内部指针指向最后一个单元
key() - 从关联数组中取得键名
each() - 返回数组中当前的键/值对并将数组指针向前移动一步
prev() - 将数组的内部指针倒回一位
reset() - 将数组的内部指针指向第一个单元
next() - 将数组中的内部指针向前移动一位
代码示例:
<?php
//在数组头添加元素
$state = array("Ohio","New York");
echo "添加前:","<br/>";
print_r($state);
echo "<br/>";
array_unshift($state,"California","Texas");
echo "添加后:","<br/>";
print_r($state);
echo "<br/>";
?>
<hr/>
<?php
//在数组尾添加元素
$state = array("Ohio","New York");
echo "添加前:","<br/>";
print_r($state);
echo "<br/>";
array_push($state,"California","Texas");
echo "添加后:","<br/>";
print_r($state);
echo "<br/>";
?>
<hr/>
<?php
//从数组头删除元素
$state = array("Ohio","New York","California","Texas");
echo "删除前:","<br/>";
print_r($state);
echo "<br/>";
array_shift($state);
echo "删除后:","<br/>";
print_r($state);
echo "<br/>";
?>
<hr>
<?php
//从数组尾删除元素
$state = array("Ohio","New York","California","Texas");
echo "删除前:","<br/>";
print_r($state);
echo "<br/>";
array_pop($state);
echo "删除后:","<br/>";
print_r($state);
echo "<br/>";
?>
<hr/>
<?php
//定位数组元素
$state = array("A"=>"Ohio","B"=>"New York","C"=>"California","D"=>"Texas");
$aa = "New York";
$boo = in_array($aa,$state);
var_dump( $boo);
//搜索数组键
var_dump(array_key_exists("A",$state));//false
//搜索数组值,返回键
var_dump(array_search("New York",$state));
//获取数组所有键
$keys = array_keys($state);
echo "<br/>";
print_r($keys);
//获取所有值
$value = array_values($state);
echo "<br/>";
print_r($value);
//移动数组指针,下一个位置next(),前一个位置pre(),重设开头reset(),最后一个end()
$a = current($state);
echo "<br/>",$a;
$a = next($state);
echo "<br/>",$a;
$a = next($state);
echo "<br/>",$a;
$a = prev($state);
echo "<br/>",$a;
$a = end($state);
echo "<br/>",$a;
//数组大小
echo "<br/>",count($state);
//排序
asort($state);
print_r($state);//保持键值关联
sort($state);
print_r($state);//键值关联不再保持,
rsort($state);
print_r($state);//逆序,不保持键值关联,保持用arsort()
?>
<hr/>
<?php
//合并数组
$state = array("A"=>"Ohio","B"=>"New York","C"=>"California","D"=>"Texas");
$state1 = array("D"=>"beijing","F"=>"shanghai");
print_r(array_merge($state,$state1));//键值相同的,新值覆盖旧值。
$money = array("jane"=>"100","bruce"=>"300");
$money1 = array("bill"=>"400","bruce"=>"500");
//$a = array(3,4,5);
//$b = array(4,9,10);
echo "<br/>";
print_r(array_merge_recursive($money,$money1));//键值相同,新旧值保存在一个数组中
//拆分数组
echo "<br/>";
print_r(array_slice($state,1,2));
?>
<hr/>
<?php
$state = array("A"=>"Ohio","B"=>"New York","C"=>"California","D"=>"Texas");
foreach($state as $key1=>$value1){
echo $key1;
echo $value1;
echo "<br/>";
}
?>
三 常量
如:define("PI",3.14) 如类中const PI=3.14
1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。
2、define不能在类中定义而const可以。
魔术常量 要了解的:
几个 PHP 的“魔术常量”
名称 说明
__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) =
__FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 对 trait 也起作用。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。
__TRAIT__ Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。
__METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__ 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。
四 mysql
命令行启动:
mysql -h host -u -p 然后输入密码,即可连接数据库。不能链接先检查几个方面:一是服务有没有启动,二是环境变量有没有设置。
查看库:show databases;
使用:use 库名称
查看表:show tables;
代码示例:
<?php
//资源型变量就是一个管道;
$conn = mysql_connect("localhost","root","987654");
if(!$conn){
echo "连接失败!<br/>";
exit;
}else{
echo "成功连接!<br/>";
}
$sql = "use fkjava";
$rs = mysql_query($sql,$conn);
$sql = 'set names utf8';
mysql_query($sql,$conn);
/*
//插入数据
$id = 4;
$name = "bruce";
$age = 28;
$email = "[email protected]";
$sql = "insert into emp values($id,'$name',$age,'$email')";
//$sql = "insert into emp values(5,'bruce',54,'[email protected]')";
$rs = mysql_query($sql,$conn);
if(!$rs){
echo "读写失败!";
exit;
}else{
echo "成功!<br/>";
}
//删除
$id =isset($_GET["id"])? $_GET["id"]+0:0;
//$id = 9;
$sql = "delete from emp where id=".$id;
$rs = mysql_query($sql,$conn);
if(!$rs){
echo "删除失败!原因:",mysql_error();
exit;
}else{
echo "删除成功!";
}
*/
//更新
$sql = "update emp set name='赵柳' where id=6";
$rs = mysql_query($sql,$conn);
//查询
$sql = "select * from emp";
$rs = mysql_query($sql,$conn);
//$aa = mysql_fetch_assoc($rs);
//print_r(mysql_fetch_assoc($rs));
while($aa = mysql_fetch_assoc($rs)){
print_r($aa);
echo "<br/>";
}
mysql_close($conn);
?>