php语言

php用法有哪些

时间:2023-06-16 11:36:40 欧敏 php语言 我要投稿
  • 相关推荐

php用法有哪些

  一般来说,看到有->的用法都是这样的形式对象->属性或方法,如:$a=new b();$a->c;那么php中的“->”用法有哪些呢?下面小编给大家整理了php中的“->”用法,供大家参阅。

  php用法有哪些

  mysql_fetch_object() 和 mysql_fetch_array() 类似,只有一点区别 - 返回一个对象而不是数组。间接地也意味着只能通过字段名来访问数组,而不是偏移量(数字不是合法的属性)。

  echo $row->field;

  /* this is invalid */

  echo $row->0; 手册里有这个例子:

  mysql_connect("hostname", "user", "password");

  mysql_select_db("mydb");

  $result = mysql_query("select * from mytable");

  while ($row = mysql_fetch_object($result)) {

  echo $row->user_id;

  echo $row->fullname;

  }

  mysql_free_result($result);

  

  ->简介

  ->运算符叫做“指向结构体成员运算符”,是C语言和C++语言的一个运算符。

  一个指针当用来指向一个结构体、对象时,称之为结构体指针或对象指针。结构体指针或对象指针中的值是所指向的结构体或对象的首地址。通过结构体指针或对象指针即可访问该结构体或对象。

  这需要用到结构体关键字struct和C++类关键字class。

  结构体指针和对象指针定义的形式:

  struct 结构体类型名 *指针名;//结构体指针

  struct 结构体类型名 *指针名 = &一个结构体的名字;//结构体指针并赋初值

  struct 结构体类型名 *指针名 = new struct 结构体类型名;//结构体指针并用new申请内存

  struct 结构体类型名 *指针名 =(struct 结构体类型名 *)malloc(sizeof(struct 结构体类型名))//结构体指针并用malloc申请内存 使用应包含头文件stdlib.h

  //对象指针的定义方法略同。

  优先级:1

  这个运算符在链表中很有用。

  ->用法实例

  #include

  #include

  using namespace std;

  class C

  {

  public:

  int num;

  string name;

  };

  int main(void)

  {

  C obj;

  C *p = &obj;

  p->num = 5;

  p->name = "Tony";

  cout << p->num << p->name << endl;

  return 0;

  }

  程序输出:

  5Tony

  2.

  #include

  #include

  using namespace std;

  class C

  {

  public:

  int num;

  string name;

  };

  void changevalue(C *t,int num,string name)

  {

  t->num=num;

  t->name=name;

  }

  int main(void)

  {

  C obj;

  changevalue(&obj,5,"Tony");

  cout << obj.num << obj.name << endl;

  return 0;

  }

  程序输出:5Tony

  不过在定义全局函数的时候最好传入引用而不是指针,这样在调用对象时和定义函数不会出错

  策略模式中主要角色

  这个模式设计到三个角色:

  环境角色(Context):持有一个Strategy的引用

  抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体的策略类所需的接口

  具体策略(ConcreateStrategy)角色:包装了相关的算法或行为

  使用场景

  假设现在要设计一个购物车系统,一个最简单的情况就是把所有货品的单价乘上数量,但是实际情况肯定比这个复杂。例如:对普通会员无折扣,对中级会员提供8折优惠,对高级会员提供7折优惠。

  根据上述描述,货品价格是根据以下几个算法中的一个进行的:

  对普通会员无折扣

  对中级会员8折

  对高级会员7折

  控制浮点数打印格式

  浮点数的打印和格式控制是sprintf 的一大常用功能,浮点数使用格式符”%f”控制,默认保留小数点后6 位数字,比如:

  复制代码 代码如下:

  sprintf("%f", 3.1415926); //结果:"3.141593"

  但,有时我们希望自己控制打印的宽度和小数位数,这时就应该使用:”%m.nf”格式,其中m 表示打印数字的整体宽度,n 表示小数点后的位数。比如:

  复制代码 代码如下:

  sprintf(" %9.3f", 3.1415926); //右对齐:位数不够用空格补全。结果:" 3.142"

  sprintf(" %-9.3f", 3.1415926); //左对齐:位数不够用空格补全。结果:"3.142 "

  sprintf(" %.3f", 3.1415926); //不指定总宽度,结果:"3.142"

  注意一个问题

  复制代码 代码如下:

  $num = 100;

  sprintf("%.2f", $num );

  sprintf("%.2f", (double)$num);

  上面的两个结果真的一样吗?虽然看起来是一样的,但是下面的原因,可能会有所启发.

  原因是:参数压栈时调用者并不知道跟num相对应的格式控制符是个”%f”。而函数执行时函数本身则并不知道当年被压入栈里的是个整数,于是可怜的保存整数$num的那4个字节就被不由分说地强行作为浮点数格式来解释了,整个乱套了。

【php用法有哪些】相关文章:

PHP语言的特性有哪些12-22

c语言if语句的用法有哪些03-17

c语言中indexof用法有哪些04-02

php中三元运算符用法04-02

php编程语言入门需要掌握哪些知识05-12

PHP的基本作用03-17

PHP基本语法04-29

PHP常量介绍04-21

photoshop有哪些功能02-28

大学有哪些专业04-06