PHP自定义函数返回多个值
微wx笑 2022-02-02【编程语言】 3 0关键字: php 函数 返回值
PHP自定义函数只允许用return语句返回一个值,当return执行以后,整个函数的运行就会终止。有时要求函数返回多个值时,用return是不可以把值一个接一个地输出的。return语句可以
PHP自定义函数只允许用return语句返回一个值,当return执行以后,整个函数的运行就会终止。
有时要求函数返回多个值时,用return是不可以把值一个接一个地输出的。
return语句可以返回任何类型的变量,这就是使自定义函数返回多个值的关键。
代码:
<?php function results($string) { $result = array(); $result[] = $string;//原字符串 $result[] = strtoupper($string);//全部换成大写 $result[] = strtolower($string);//全部换成小写 $result[] = ucwords($string);//单词的首字母换成大写 return $result; } www.jbxue.com $multi_result = results('The quick brown fox jump over the lazy dog'); print_r($multi_result); ?>
数组的方式感觉不是很优雅,类或者结构的方式个人感觉更好。
/* class:Stock desc:用于getStockPrice方法实现多个返回值 author:ivu4e.com date:2022-02-02 */ class Stock{ public $close = 0; //上周五收盘价 public $high = 0; //本周最高价 public $increase = 0; //周最高涨幅 } /* 获取股票的上周五收盘价和本周最高价 */ function getStockPrice($code, $beginDate, $endDate){ $sk = new Stock(); $pattern = '/^\d{6}$/'; if (!preg_match($pattern,$code)){ print_r($code . "不是有效的股票代码!<br><br>"); return $sk; } $json = getStockJson($code); $obj = json_decode($json); for ($i = count($obj->data) - 1; $i >= 0; $i--) { $skinfo = explode(',', $obj->data[$i]); if (count($skinfo) != 9){ print_r($code . "文件中的数据不符合预期,不是有效的数据!<br><br>"); break; } $stockTime = strtotime($skinfo[0]); if ($stockTime <= $endDate and $stockTime > $beginDate){ $hh = floatval($skinfo[3]); if ($hh > $sk->high){ $sk->high = $hh; } } if ($stockTime == $beginDate){ $cs = floatval($skinfo[2]); $sk->close = $cs; break; } if ($stockTime > $beginDate){ continue; } break; } return $sk; }
可以简单的创建一个类的实例:$sk = new Stock();
在访问一个变量时需要在前面加$符号,但是在访问类中的公共属性时,就不需要添加$,类似以下的方式:
$sk->close
但是,php访问一个类的属性,不像其它语言那样是通过一个点,而是 -> ,如果php不是自己首先学习的或者主语言的话,是很容易在这上面踩坑的。
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/lang/2022-02-02/1000.html
上一篇:PHP实现今天是星期几的几种写法
下一篇:php的错误级别