php——1-基础数据 EOF字串方法

echo 和 print
echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。
print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。

区别:echo 可以打印多个,print 只能打印一个

$x = 123;
$y = 456;
echo $x, $y;//123456
print $x,$y;//报错

var_dump()
函数显示关于一个或多个表达式的结构信息,
包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
一般调试的时候用于输出数据以及数据类型

php没有变量申明
变量在你第一次赋值给它的时候被创建

数据类型:String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。

字符串:

<?php
$txt="Hello world!";
echo $txt;//Hello world!

//并置运算符: 在 PHP 中,只有一个字符串运算符(.) 用于把两个字符串值连接起来。
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;//Hello world! What a nice day!

//strlen() 函数返回字符串的长度(字符数)。
echo strlen("Hello world!");//12

//strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
//如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
echo strpos("Hello world!","world");//6
?>

数组:
在 PHP 中,array() 函数用于创建数组:

  • 在 PHP 中,有三种类型的数组:
    • 数值数组 - 带有数字 ID 键的数组
    • 关联数组 - 带有指定的键的数组,每个键关联一个值
    • 多维数组 - 包含一个或多个数组的数组
<?php
//数值数组
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";//I like Volvo, BMW and Toyota.

//关联数组
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";//Peter is 35 years old.

// 二维数组:
$cars = array
(
    array("Volvo",100,96),
    array("BMW",60,59)
);
print_r($cars);//( [0] => Array ( [0] => Volvo [1] => 100 [2] => 96 ) [1] => Array ( [0] => BMW [1] => 60 [2] => 59 ) )

//多维数组
$sites = array
(
    "runoob"=>array
    (
        "菜鸟教程",
        "http://www.runoob.com"
    ),
    "google"=>array
    (
        "Google 搜索",
        "http://www.google.com"
    ),
    "taobao"=>array
    (
        "淘宝",
        "http://www.taobao.com"
    )
);
print("<pre>"); // 格式化输出数组
print_r($sites);
/*
 Array
(
    [runoob] => Array
        (
            [0] => 菜鸟教程
            [1] => http://www.runoob.com
        )

    [google] => Array
        (
            [0] => Google 搜索
            [1] => http://www.google.com
        )

    [taobao] => Array
        (
            [0] => 淘宝
            [1] => http://www.taobao.com
        )
)
 */
print("</pre>");
?>
<?php
//获取数组的长度 - count() 函数
$cars=array("Volvo","BMW","Toyota");
echo count($cars);//3
echo "<br>";

//遍历数值数组
//法一
$cars=array("Volvo ","BMW ","Toyota ");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
    echo $cars[$x];
}//Volvo BMW Toyota
echo "<br>";

//法二
$x = array("one", "two", "three");
foreach ($x as $value) {
    echo $value . " ";//one two three
}

//遍历关联数组
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
    echo "Key=" . $x . ", Value=" . $x_value;
}//Key=Peter, Value=35Key=Ben, Value=37Key=Joe, Value=43
?>

PHP - 数组排序函数

<?php
$age=array("Peter"=>"37","Ben"=>"35","Joe"=>"43");
sort($age);//sort() - 对数组进行升序排列
print_r($age);//Array ( [0] => 35 [1] => 37 [2] => 43 )
echo "<br>";

rsort($age);//rsort() - 对数组进行降序排列
print_r($age);//Array ( [0] => 43 [1] => 37 [2] => 35 )
echo "<br>";

$age=array("Peter"=>"37","Ben"=>"35","Joe"=>"43");
asort($age);//asort() - 根据关联数组的值,对数组进行升序排列
print_r($age);//Array ( [Ben] => 35 [Peter] => 37 [Joe] => 43 )
echo "<br>";

arsort($age);//arsort() - 根据关联数组的值,对数组进行降序排列
print_r($age);//Array ( [Joe] => 43 [Peter] => 37 [Ben] => 35 )
echo "<br>";

ksort($age);//ksort() - 根据关联数组的键,对数组进行升序排列
print_r($age);//Array ( [Ben] => 35 [Joe] => 43 [Peter] => 37 )
echo "<br>";

krsort($age);//krsort() - 根据关联数组的键,对数组进行降序排列
print_r($age);//Array ( [Peter] => 37 [Joe] => 43 [Ben] => 35 )
echo "<br>";
?>

函数:
函数准则:

  • 函数的名称应该提示出它的功能
  • 函数名称以字母或下划线开头(不能以数字开头)
<?php
function writeName($fname,$punctuation){
    $result = $fname . " Refsnes" . $punctuation . "<br>";
    return $result;
}
echo "My name is ".writeName("Kai Jim",".");
echo "My sister's name is ".writeName("Hege","!");
echo "My brother's name is ".writeName("Ståle","?");
/*
My name is Kai Jim Refsnes.
My sister's name is Hege Refsnes!
My brother's name is Ståle Refsnes?
*/
?>

var_dump()
函数返回变量的数据类型和值:

<?php
//字符串
{
    $x = 'hello world';
    var_dump($x);//string 'hello world' (length=11)
}

//整型
{
    $x = 5985;
    var_dump($x);//int 5985
    echo "<br>";
    $x = -345; // 负数
    var_dump($x);//int -345
    echo "<br>";
    $x = 0x8C; // 十六进制数
    var_dump($x);//int 140
    echo "<br>";
    $x = 047; // 八进制数
    var_dump($x);//int 39
}

//浮点型
{
    $x = 10.365;
    var_dump($x);//float 10.365
    echo "<br>";
    $x = 2.4e3;
    var_dump($x);//float 2400
    echo "<br>";
    $x = 8E-5;
    var_dump($x);//float 8.0E-5
}

//布尔型
{
    $x = true;
    var_dump($x);//boolean true
    echo "<br>";
    $x = false;
    var_dump($x);//boolean false
}

//数组
{
    $cars = array("Volvo", "BMW", "Toyota");
    var_dump($cars);
    /*
      array (size=3)
      0 => string 'Volvo' (length=5)
      1 => string 'BMW' (length=3)
      2 => string 'Toyota' (length=6)
    */
}

//对象
{
    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 属性
    var_dump($herbie);//object(Car)[1];  public 'color' => string 'white' (length=5)
    echo "\therbie: Properties\n";
    print_vars($herbie);//herbie: Properties color = white
}

//NULL值
{
    $x = "Hello world!";
    $x = null;
    var_dump($x);//null
}
?>

设置 PHP 常量

设置常量,使用 define() 函数,函数语法如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
该函数有三个参数:

name:必选参数,常量名称,即标志符。
value:必选参数,常量的值。
case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

<?php
// 区分大小写的常量名
define("GREETING", "欢迎访问 hu.com");
echo GREETING;    // 输出 "欢迎访问 Runoob.com"
echo '<br>';
echo greeting;   // 输出 "greeting"

// 不区分大小写的常量名
define("GREETING", "欢迎访问 haobo.com", true);
echo greeting;  // 输出 "欢迎访问 Runoob.com"

//常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
function myText(){
    echo greeting;
}
myText();//欢迎访问 haobo.com
?>

EOF

(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字串的方法。
使用概述:

  1. 必须后接分号,否则编译通不过。
  2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
  3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
  5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
<?php
echo <<<EOF
<h1>我的第一个标题</h1>
<p>我的第一个段落。</p>
EOF;
// 结束需要独立一行(注释也不行)且前后不能空格

$name="runoob";
$a= <<<EOF
    "abc"
    $name
    "123"
EOF;
// 结束需要独立一行(注释也不行)且前后不能空格
echo $a;//"abc" runoob "123"
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值