php学习

Php 

1.

一、=>,->的意思:

->是对象执行方法或取得属性用的

=>是数组里键和值对应用的。

二、用法

1、=> 的用法数组中用于数组的 key 和 value之间的关系例如:

$a = array('0' => '1','2' => '4',);
echo $a['0'];echo $a['2'];

2、-> 的用法:

类中用于引用类实例的方法和属性例如:

class Test{

var $var = 0;

function add(){

return $this->var++;

}

}

$a = new Test;  

echo $a->add();

echo $a->var; 

2.

扩展资料:

在php中数组默认键名是整数,也可以自己定义任意字符键名(最好是有实际意义)。如:

$css=array('style'=>'0',‘color’=>‘green‘),

则$css['style']=='0',$css['color']=='green'。

简单的说‘=>’就是定义数组键名让它指向数组末一个元素,

跟指针很相似。

$are->areaid=$areas['parentid']=get_area_id($channelid, $provinces[$pid]);

其意义是:调用get_area_id($channelid, $provinces[$pid]);

获得地区id然后将其赋值给$areas['parentid'],最后将$areas['parentid']的值赋给$are->areaid

其中的多个“=”相连只是为了方便而已还可以连写更多,

其实也可以这样写:

$areas['parentid']=get_area_id($channelid, $provinces[$pid]);

$are->areaid=$areas['parentid'];

 3. foreach

foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:

foreach (array_expression as $value)

    statement

foreach (array_expression as $key => $value)

    statement

第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。

4.url在php怎么体现

比如三级 url后缀

第一级是该php文件所在的包名

第二级是文件名 

class SpringController extends Controller

比如是SpringController,截去Controller 全小写就是 /spring

第三级就是方法名,比如

public function actionTicketout()

截去action 全小写就是 /ticketout

全部连起来就是

/包名/spring/ticketout

5.

如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。

 6. Array  

6.1

https://www.php.net/manual/zh/language.types.array.php

此外 key 会有如下的强制转换:

  • 包含有合法整型值的字符串会被转换为整型。例如键名 "8" 实际会被储存为 8。但是 "08" 则不会强制转换,因为其不是一个合法的十进制数值。
  • 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8。
  • 布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0。
  • Null 会被转换为空字符串,即键名 null 实际会被储存为 ""。
  • 数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type。

如果在数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了。

Example #2 类型强制与覆盖示例

<?php
$array = array(
    1    => "a",
    "1"  => "b",
    1.5  => "c",
    true => "d",
);
var_dump($array);
?>

以上例程会输出:

array(1) {

  [1]=>

  string(1) "d"

}

上例中所有的键名都被强制转换为 1,则每一个新单元都会覆盖前一个的值,最后剩下的只有一个 "d"。

PHP 数组可以同时含有 integer 和 string 类型的键名,因为 PHP 实际并不区分索引数组和关联数组。

 

如果对给出的值没有指定键名,则取当前最大的整数索引值

Example:没有键名的索引数组

<?php

$array = array("foo", "bar", "hallo", "world");

var_dump($array);

?>

以上例程会输出:

array(4) {

  [0]=>

  string(3) "foo"

  [1]=>

  string(3) "bar"

  [2]=>

  string(5) "hallo"

  [3]=>

  string(5) "world"

}

6.2

<?php

// 创建一个简单的数组

$array = array(1, 2, 3, 4, 5);

print_r($array);

// 现在删除其中的所有元素,但保持数组本身不变:

foreach ($array as $i => $value) {    // 这里很有意思, 因为原array没有指定键 ,所以键 就是索引值, $array[$i] 就是 索引下对应的元素

    unset($array[$i]);

}

print_r($array);

// 添加一个单元(注意新的键名是 5,而不是你可能以为的 0)

$array[] = 6;

print_r($array);

// 重新索引:

$array = array_values($array);

$array[] = 7;

print_r($array);

?>

以上例程会输出:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Array
(

)

Array

(
    [5] => 6
)

Array

(
    [0] => 6
    [1] => 7
)

6.3
 

<?php

// Show all errors

error_reporting(E_ALL);

$arr = array('fruit' => 'apple', 'veggie' => 'carrot');

// Correct

print $arr['fruit'];  // apple

print $arr['veggie']; // carrot

// Incorrect.  This works but also throws a PHP error of level E_NOTICE because

// of an undefined constant named fruit

// 

// Notice: Use of undefined constant fruit - assumed 'fruit' in...

print $arr[fruit];    // apple

// This defines a constant to demonstrate what's going on.  The value 'veggie'

// is assigned to a constant named fruit.

define('fruit', 'veggie');

// Notice the difference now

print $arr['fruit'];  // apple

print $arr[fruit];    // carrot

// The following is okay, as it's inside a string. Constants are not looked for

// within strings, so no E_NOTICE occurs here

print "Hello $arr[fruit]";      // Hello apple

// With one exception: braces surrounding arrays within strings allows constants

// to be interpreted

print "Hello {$arr[fruit]}";    // Hello carrot

print "Hello {$arr['fruit']}";  // Hello apple

// This will not work, and will result in a parse error, such as:

// Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING'

// This of course applies to using superglobals in strings as well

print "Hello $arr['fruit']";

print "Hello $_GET['foo']";

// Concatenation is another option

print "Hello " . $arr['fruit']; // Hello apple

?>

 7.    . 是java里的+ ,就是拼接

 8.  list  把数组中的值赋给list里的一组变量,要配合 array使用

 8.1

<?php

$my_array = array("Dog","Cat","Horse");

list($a, $b, $c) = $my_array;

echo "I have several animals, a $a, a $b and a $c.";

?>

输出:I have several animals, a Dog, a Cat and a Horse.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值