iOS 全栈攻城狮(PHP) —— Session 2

基本的语法

PHP 的语法和 Swift 基本一致,但和 Objective-C 相差巨大,我将同时使用三种语言的示例去讲解 PHP 的基本语法。

定义一个变量

//PHP
$str = "I'm String";
$str = 'I\'m String'; //建议使用此形式
//Objective-C
NSString *str = @"I'm String";
//swift
let str = "I'm String"

要定义一个变量,必须使用 $ 开头,后面紧跟着变量名称,PHP无需为变量指定它的类型,它和 Swift 采用类似的类型推断方法。
要定义一个字符串,可以使用双引号或者单引号包裹字符串,使用单引号包裹字符串是一个良好的习惯。

定义一个数字、布尔值

//PHP
$i = 1;
$b = true;
//Objective-C
NSInteger i = 1;
BOOL b = YES;
let i = 1
let b = true

定义一个数字或布尔值,也不需要为其指定类型,PHP是弱类型语言,变量对类型不敏感。

变量的使用

要在 PHP 中使用变量,需要将美元符号也一并作为变量的一部分书写,以下是两个数值相加的例子。

//PHP
$a = 1;
$b = 2;
$c = $a + $b;
echo $c
//Objective-C
NSInteger a = 1;
NSInteger b = 1;
NSInteger c = a + b;
//swift
let a = 1
let b = 1
let c = a + b

弱类型

由于对类型的不敏感,一个字符串变量也可以与一个数值型变量相加。

//PHP
<?php
$a = "1";
$b = 2;
$c = $a + $b;
echo $c;

运行一下,看看结果对不对?
类型的不敏感同样适用于浮点型与整型,浮点型与整型在PHP的世界里并没有明显的不同,这与 Objective-C 和 Swift 有着明显的区别。

//PHP
$a = "1.1";
$b = 2;
$c = $a + $b;
echo $c;

再运行一下?

定义一个数组

在 PHP 的世界里面, Array 和 Dictionary 都放在一起了,它叫 “数组”,是不是觉得很神奇?

<?php
$arr = [1, 2, 3, 4];
$dict = ["key"=> "value"];

虽然他们的定义方式不一样,但是,他们却是可以互相转换的……而且,由于 PHP 的类型不敏感,你可以在一个数组里面存放不同类型的Element。
PHP数组不支持泛型!

在 PHP 的世界里,数组默认都是可变的,亦即是 Mutable,你可以随时对数组增加、删除元素,并且他是线程安全的(一般来说,PHP不存在非线程安全的问题)。

在 PHP 里,数组越界的问题不会导致 Crash,但是,我仍然建议你在使用下标获取数组对象时,先检查有没有越界。

$arr[4] = 5;//添加一个元素
print($arr[9]);//不会Crash,PHP内部有数组越界检查。

我们会在后面详细地介绍PHP数组的行为

流程控制语句

if、switch、for 这些常见的流程控制语句,与 Objective-C 、 Swift 基本一致。

<?php
$arr = [1, 2, 3, 4];

if ($arr[0] == 1) {
    print("OK");
}

中止语句

你可以使用 die(); 或者 exit; 中止程序的执行,所有的输出都将马上返回给客户端。

结语

PHP 与 OC、Swift 在基础语法上并无太大的区别,更大的区别在于 PHP 面向对象的语法,但其实也是非常简单的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一想到上次打游戏的时候二哈凶我,趴着午睡的喵某人眼泪吧嗒吧嗒的掉下来。 哼,下次再敢凶我,我就,我就离家出走!!!
    爱猫的帽子阅读 209评论 0 0
  • 上帝为你关上一扇门的时候必然为你开了另一扇窗。这句话读过很多次,至今我也不懂那是怎样的感觉。 只是有一天我突然懂了...
    我是四四阅读 256评论 0 0
  • 昨晚和朋友打电话,以前喜欢过她,当时她问我喜欢她什么的时候,我说不出来,在电话里,她又一次问我这个问题,我回忆了一...
    刘贤武阅读 449评论 0 0
  • 结构化思维(目标+分析+方案) 1.目标(我想要什么样的结果) 2.分析(资源分析) 3.方案(制定适合自己的,有...
    Allen_徐先森阅读 344评论 0 0