[英]How can i merge the return of two functions in php?
我有两个函数,如果可能的话,需要合并它返回的字符串。
这是我的功能:
function qty($numbers) {
$numbers = array($this->strips_qty, $this->lancet_qty, $this->battery_qty,
$this->misc_qty);
function qty($numbers) {
foreach ($numbers as $stock) {
if ($stock)
$result .= $stock . '<br>';
}
return $result;
}
if ($result = qty($numbers))
return '(' . $result . ')';
}
function parts_requested($params) {
$params = array($this->meter, $this->strips, $this->lancets, $this->control,
$this->ld, $this->battery, $this->misc);
function parts_requested($params) {
foreach ($params as $part) {
if ($part)
$result .= $part . ',';
}
return $result;
}
if ($result = parts_requested($params))
return 'OK TO SEND: ' . $result;
}
上面显示“可以发送...”,我想将“确定发送”之后的qty()结果合并到parts_requested()的返回中。
任何帮助将不胜感激。 提前致谢。
我不知道是否理解得很好,但是我会这样:
return 'OK TO SEND: ' . $result . qty($numbers);
或者,您可以使用数组并将其合并到外部:
$result = array();
$result[]= parts_requested($params);
$result[]= qty($numbers);
echo implode($result,'');
根据要求更新答案
将第二个函数的定义更改为:
function parts_requested($params, $numbers) {
然后在part_requested处更改将逗号添加到的行:
`$result .= qty($numbers) . $part . ',';`
但是我看不到每次循环重复时在哪里更新数字。
对于您正在做的事情,有更好的解决方案,但是请尝试如下操作:
// example outputs
$parts = 'OK TO SEND: 10CTNOVAMAX,743014';
$quantities = '5<br>6<br>';
$parts = array_split($parts, ': ');
$parts = array_split($parts[1], ',');
$quantities = array_split($quantities, '<br>');
$result = 'OK TO SEND: ';
foreach($parts as $key->$value) {
$result .= '('.$quantities[$key].') '.$value;
}
不确定我是否完全理解这个问题以及为什么要具有重复功能,但这似乎很简单:
function qty($numbers) {
$numbers = array($this->strips_qty, $this->lancet_qty, $this->battery_qty,
$this->misc_qty);
$result = '';
function qty($numbers) {
foreach ($numbers as $stock) {
if ($stock)
$result .= $stock . '<br>';
}
return $result;
}
if ($result = qty($numbers))
return '(' . $result . ')';
}
function parts_requested($params, $numbers) {
$params = array($this->meter, $this->strips, $this->lancets, $this->control,
$this->ld, $this->battery, $this->misc);
$result = '';
function parts_requested($params) {
foreach ($params as $part) {
if ($part)
$result .= $part . ',';
}
return $result;
}
if ($result = parts_requested($params))
return 'OK TO SEND: ' . qty($numbers) . $result;
}
请注意,我还必须在每个函数的开头定义$result
,并且必须像这样调用函数: parts_requested($params, $numbers);
该函数将调用另一个函数并插入结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.