PHP的学习一

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、PHP

1.php简介

作用

php代码在服务器上执行
可删除,修改,读取,写入服务器上的文件。
收集表单数据。
接收发送cookie。
添加删除数据库中的数据。
限制用户访问一些页面。

2.php语法

php脚本可放在文档中的任何位置。
php每行代码写完后以分号作为结束符。

<?php开始 ,>结束,//单行注释,/**/多行注释。

3.php变量

php变量以“$”开头。
有global,static,局部可全局域。
php是一门弱语言。

4.echo/print

echo-可输出一个或多个字符。
print-只允许输出一个字符串。
echo的输出速度更快。

echo "这是一个", "字符串,", "使用了", "多个", "参数。";
print "输出一个字符串";

5.eof使用说明

php eof是在命令行和程序语言定义一个字符串的方法。
使用规则
1.接分号,否则编译不给通过。
2.需保证结束标识和开始标识一样。
3.结束标识独占一行。
4.开始标识可以不带引号,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和符号。

<?php
echo <<<EOF
        <h1>我的第一个标题</h1>
        <p>我的第一个段落。</p>
EOF;
// 结束需要独立一行且前后不能空格
?>

<<<eof开始标记,eof结束标记,结束标记顶头写,不能有空格。
注:开始标记和结束标记之间的变量可以被解析,但函数不可以。

<?php
$name="run";
$a= <<<EOF
        "abc"$name
        "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>

6.数据类型

1.字符串,整型,浮点型,布尔型等。
2.var_dump()用来返回变量的数据类型和值。

1.php对象必须使用class关键字说明类对象。类可以包含属性和方法的结构。

<!DOCTYPE html>
<html>
<body>

<?php
class Car
{
    var $color;
    function __construct($color="green") {
      $this->color = $color;
    }
    function what_color() {
      return $this->color;
    }
}

function print_vars($obj) {
   foreach (get_object_vars($obj) as $prop => $val) {
     echo "\t$prop = $val\n";
   }
}

// 实例一个对象
$herbie = new Car("white");

// 显示 herbie 属性
echo "\therbie: Properties\n";
print_vars($herbie);

?>  

</body>
</html>

注:this关键字是指向实例的指针
null值没有值,有时用来清空数据。

2.php资源类型

资源resource,保存外部资源的一个引用。常见资源数据类型:打开文件,数据库连接,图形画布区域等。
使用get_resource_type()函数可以返回资源类型。

7.php类型比较

==//只比较值===”值和类型都比较

8.php常量

1.常量被定义后,在脚本任何地方不能改变。
设置php常量,使用define()函数

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

name:常量名称
value:值
设置ture对大小写不敏感。false对大小写敏感


<?php
// 区分大小写的常量名
define("GREETING", "欢迎访问 helloword.com");
echo GREETING;    // 输出 "欢迎访问 Runoob.com"
echo '<br>';
echo greeting;   // 输出 "greeting",但是有警告信息,表示该常量未定义
?>

2.常量是全局的
默认是全局变量,可以在整个运行脚本任何地方使用

<?php
define("GREETING","欢迎访问 helloword.com");
function myTest(){
	echo GREETING;
}
myTest();//输出欢迎访问 helloword.com
?>

9.php字符串和运算符

注:当给一个文本值赋予变量时,给文本值加上单引号或双引号。
1.php并置运算符
并置运算符(.)把两个字符串连接一起

 <?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?> 

输出:Hello world! What a nice day!

使用两次并置运算符需要在它们之间插入一个空格。

2.strlen()函数

求出字符串的长度

3.strops()函数

在字符串中查找一个字符或文本。
找到匹配则返回第一个匹配的字符位置。

 <?php
echo strpos("Hello world!","world");
?> 

输出:6
注意:字符串中第一个位置是:0
4.php运算符

-x:取x的相反符号
~x:取反
a.b:并置


<?php 
$x=10; 
$y=6;
echo ($x + $y); // 输出16
echo '<br>';  // 换行
 
echo ($x - $y); // 输出4
echo '<br>';  // 换行
 
echo ($x * $y); // 输出60
echo '<br>';  // 换行
 
echo ($x / $y); // 输出1.6666666666667
echo '<br>';  // 换行
 
echo ($x % $y); // 输出4
echo '<br>';  // 换行
 
echo -$x;//输出-10
?>

新加:intdiv(),整除运算向下取整。

<?php
var_dump(intdiv(10,3));
?>//输出 int(3)

5.php逻辑运算符

x xor y:异或,如果x和y仅且只有一个为true,则返回true

x=6
y=3
(x==6 xor y==3) 返回 false

6.php数组运算符

x<>y:不相等
x!==y:不恒等
x!=y:不相等


<?php
$x = array("a" => "red", "b" => "green"); 
$y = array("c" => "blue", "d" => "yellow"); 
$z = $x + $y; // $x 和 $y 数组合并
var_dump($z);
var_dump($x == $y);
var_dump($x === $y);
var_dump($x != $y);
var_dump($x <> $y);
var_dump($x !== $y);
?>

7.三元运算符

(expr1) ? (expr2) : (expr3)
新加了:合并运算符??

?php
// 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
// 类似的三元运算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
?>

8.组合比较符

$c = $a <=> $b;
如果 $a > $b, 则 $c 的值为 1。
如果 $a == $b, 则 $c 的值为 0。
如果 $a < $b, 则 $c 的值为 -1。

2.PHP语法

1.if…else…

if语句
if…else…
if…elseif …else

2.switch

//有选择的执行若干代码块之一

switch…case
break:用来阻止代码跳入下一个case中继续执行。default:用来不存在的匹配。


<?php
switch (n)
{
case label1:
    如果 n=label1,此处代码将执行;
    break;
case label2:
    如果 n=label2,此处代码将执行;
    break;
default:
    如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>

3.php数组

数组:单个变量中存储多个值的特殊变量。


<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

1.php中创建数组

array():函数创建数组
三种类型
数值数组
关联数组
多维数组

1.数值数组

自动分配array()
人工分配
$cars[0]=“bmw”

<?php
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?> 
2.获取数组的长度-count()函数

<?php
$cars=array("Volvo","BMW","Toyota");
echo count($cars);//输出3
?>

3.遍历数值数组

<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
 
for($x=0;$x<$arrlength;$x++)
{
    echo $cars[$x];
    echo "<br>";
}
?>

4.关联数组

使用你分配给数组的指定键的数组


<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>

5.遍历关联数组

遍历并打印关联数组中的值。使用foreach循环

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

foreach($age as $x=>$x_value)
{
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
}
?>

输出
Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43

4.php数组排序

数组中的元素可按字母或数字顺序进行降序或升序排列
sort():升序排列
rsort:降序排列
asort:根据数组的值,升序排列
ksort:根据键,升序
arsort:值,降
krsort:键,降序

<?php
$numbers=array(4,6,2,22,11); 
sort($numbers); 
print_r($numbers); 
?> 

输出:
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 11
[4] => 22
)

5.php超级全局变量

超级全局变量,在一个脚本的全部作用域都可用。
$_globals
$_server
$_request

1.$_GLOBALS

包含了全局变量的全局组合数组。变量的名字就是数组的键。

<!DOCTYPE html>
<html>
<body>

<?php 
$x = 75;
$y = 25; 

function addition()
{
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}

addition();
echo $z;//输出100
?>

</body>
</html>

2.$_SERVER

$_SERVER是一个包含了头信息,路径,脚本等的数组


<?php 
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>

3. R E Q U E S T 和 _REQUEST和 REQUEST_POST

用于收集html表单提交的数据
当用户点击submit提交表单数据时,表单数据将发送到form标签中
action指定的脚本文件。
可以使用全局变量$_REQUEST来收集input中的字段数据。

<!DOCTYPE html>
<html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>

<?php 
$name = htmlspecialchars($_REQUEST['fname']); 
echo $name; 
?>

</body>
</html>

4.$_GET

<html>
<body>

<a href="test_get.php?subject=PHP&web=runoob.com">Test $GET</a>

</body>
</html>

注:当用户点击链接 “Test $GET”, 参数 “subject” 和 “web” 将发送至"test_get.php",你可以在 “test_get.php” 文件中使用 $_GET 变量来获取这些数据。

以下实例显示了 “test_get.php” 文件的代码:


<html>
<body>
 
<?php 
echo "Study " . $_GET['subject'] . " @ " . $_GET['web'];
?>//输出:Study PHP @ runoob.com
 
</body>
</html>

总结

成功贵在坚持,持之以恒!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值