1、编写字符串检查函数,判断一个字符串是否为有效电话号码。要求:手机号码的长度为11位的数字,固定电话为开头三或四个数字后跟一个短横线后接8位数字。

 <?
function isTel($tel)
{ if (strlen($tel)==11)
{
if (is_numeric($tel))
{
echo $tel."是有效的手机号码"."<br>";
}
else
{
echo $tel."不是手机号码"."<br>";
}
} if ($tel[3]=='-' )
{
$a=substr($tel, 0,3);
$b=substr($tel, 4);
if (strlen($a)==3 && is_numeric($a) && strlen($b)==8 && is_numeric($b))
{
echo $tel."是有效的电话号码"."<br>";
}
else
{
echo $tel."不是电话号码"."<br>";
}
} if ($tel[4]=='-' )
{
$a=substr($tel, 0,4);
$b=substr($tel, 5);
if (strlen($a)==4 && is_numeric($a) && strlen($b)==8 && is_numeric($b))
{
echo $tel."是有效的电话号码"."<br>";
}
else
{
echo $tel."不是电话号码"."<br>";
}
}
} isTel("13388888888");
isTel("0575-12345678");
?>

2、设计一个 person 类,条件如下:
a) 定义protected属性:name(姓名)、age(年龄)、sex(性别);
b) 定义构造函数,实现在对象创建时输出 “I am a person.”;
c) 定义析构函数,在对象销毁时输出 “bye”;
d)定义公有方法 getInfo() ,用于输出对象的属性信息
设计一个 student 类,条件如下:
a) 继承自 person 类;
b) 定义私有属性:number(学号)、class(班级)、major(专业);
c) 定义构造函数,输出 “I am a student.” ;
d) 重载父类的 getInfo() 方法,输出本类的属性信息

 <?
class Person
{
protected $name,$age,$sex;
function __construct()
{
echo "I am a person.".'<br>';
$this->name="Person";
$this->age=18;
$this->sex='男';
}
function __destruct()
{
echo "Bye,person.".'<br>';
}
function getInfo()
{
echo 'Name: '.$this->name.' Age: '.$this->age.' Sex: '.$this->sex."<br>";
}
} class Student extends Person
{
private $number,$class,$major;
function __construct()
{
echo "I am a student. ".'<br>';
$this->number=1;
$this->class=3;
$this->major="软件工程";
}
function __destruct()
{
echo "Bye,student".'<br>';
}
function getInfo()
{
echo "Number: ".$this->number.' Class: '.$this->class.' Major: '.$this->major.'<br>';
}
} $a=new Person();
$a->getInfo();
$b=new Student();
$b->getInfo();
?>

PHP入门小练习的更多相关文章

  1. 02SpringMvc_springmvc快速入门小案例(XML版本)

    这篇文章中,我们要写一个入门案例,去整体了解整个SpringMVC. 先给出整个项目的结构图:

  2. Spring IoC、DI入门小程序

    Alt+/智能提示xml配置文件节点及属性:在接口上使用Ctrl+T可以提示其实现类 一.IoC控制反转(将创建对象的权利交给spring)入门小程序 1.引入jar包 2.工程基本结构 3.新建Us ...

  3. Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子

    Selenium WebDriver + Grid2 + RSpec之旅(三) ----入门小例子 第一个例子都是比较简单的博客园登录界面,就像学习编程语言时候都是从Hello,World!开始. 1 ...

  4. spring boot入门小案例

    spring boot 入门小案例搭建 (1) 在Eclipse中新建一个maven project项目,目录结构如下所示: cn.com.rxyb中存放spring boot的启动类,applica ...

  5. SpringBoot+Shiro入门小栗子

    写一个不花里胡哨的纯粹的Springboot+Shiro的入门小栗子 效果如图: 首页:有登录注册 先注册一个,然后登陆 登录,成功自动跳转到home页 home页:通过认证之后才可以进 代码部分: ...

  6. 简述Python入门小知识

    如今的Python开发工程师很受企业和朋友们的青睐,现在学习Python开发的小伙伴也很多,本篇文章就和大家探讨一下Python入门小知识都有哪些. 扣丁学堂简述Python入门小知识Python培训 ...

  7. angularJS入门小Demo2 【包含不用数据库而用data.json格式响应前台的ajax请求方式测试】

    事件绑定: <html> <head> <title>angularJS入门小demo-5 事件指令</title> <script src=&q ...

  8. angularJS入门小Demo【简单测试js代码的方法】

    1.首先建立一个文件夹 demo, 2.在其中建立一个文本文档,改名为 demo-1.html, 3.把html中要引入的 js 文件拷贝到 demo目录下, 4.然后用 Notepadd++ 编辑刚 ...

  9. AngularJS - 入门小Demo

    AngularJS四大特效 MVC模式.模块化设计.自动化双向数据绑定.依赖注入 如果了解了后端开发知识,想必对这些词汇不会陌生,AngularJS融合了后端开发的一些思想,虽然身为前端框架,但与jQ ...

  10. Python入门小练习

    Python入门小练习 001 备份文件 Python入门小练习 002 批量下载网页链接中的图片 Python入门小练习 003 利用cookielib模拟登录获取账户信息

随机推荐

  1. linux设备和驱动加载的先后顺序

    点击打开链接 Linux驱动先注册总线,总线上可以先挂device,也可以先挂driver,那么究竟怎么控制先后的顺序呢. Linux系统使用两种方式去加载系统中的模块:动态和静态. 静态加载:将所有 ...

  2. 【Python】模拟radius coa报文

    Radius协议中网关设备NAS是client,实现radius协议的服务为服务端(例如freeradius),这种情况下radius server并不能主动给NAS发送信息.在 rfc3576 Dy ...

  3. Android studio导入工程很卡及下载网络jar很慢问题总结

    AndroidStudio导入项目一直卡在Building gradle project info,实际上是因为你导入的这个项目使用的gradle与你已经拥有的gradle版本不一致,导致需要下载该项 ...

  4. Linux - Shell变量的配置守则

    变量的配置守则 变量与变量内容以一个等号『=』来连结,如下所示: 『myname=VBird』 等号两边不能直接接空格符,如下所示为错误: 『myname = VBird』或『myname=VBird ...

  5. hadoop 测试框架

    hadoop 0.21以前的版本中(这里拿0.20为例,其他版本可能有少许不同),所有的测试相关代码都是放置在${HADOOP_HOME}/src/test下,在该目录下,是按照不同的目录来区分针对不 ...

  6. 【38】java的集合框架(容器框架)

    Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些 Collection允许相同的元 ...

  7. 面试之路(27)-链表中倒数第K个结点

    代码的鲁棒性: 所谓的鲁棒性是指能够判断输入是否合乎规范,能对不和规范的程序进行处理. 容错性是鲁棒性的一个重要体现. 防御性编程有助于提高鲁棒性. 切入正题,我可不是标题党: 链表倒数第k个节点 列 ...

  8. nasm预处理器(4)

    nasm定义了一套标准宏,当开始处理源文件时,这些宏都已经被定义了,如果希望程序在执行前没有预定义的宏存在,可以使用%clear清空预处理器的一切宏. __NASM_MAJOR__ 主版本号 __NA ...

  9. 一个div在另一个div中水平垂直的方法

    html <div id="main"> <div id="box"> 一个div在另一个div中垂直居中实现方法 </div&g ...

  10. (function(){xxx})(); 写法解释

    常见格式:(function() { /* code */ })(); 解释:包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿 ...