php - 函数调用返回数组输出的第一个字符
问题描述
抱歉,不完全确定如何表达这一点。
我有以下调用 2 个函数的 PHP 脚本。两者都输出一个已解码的数组。我只需要每个数组的 1 部分。
{
<?php
require_once('sipTrunkDomain.php');
//setup curl connection
//get list of SIP Trunk domains, uses CURL GET, and only return the domain header
function getTrunkDomain(){
$json = sipTrunkDomain();
//$r = json_encode($json);
$arr = json_decode($json,true);
return $arr;
}
//returns list of trunk domains
$trunks = getTrunkDomain();
//sets domains as an array to be passed to next function
if(!is_array($domain))
$domain = array();
foreach ($trunks as $trunk){
$domain[] = $trunk['domain'];
}
//print_r($domain);
//uses domain name from above as a variable for the domain information API call
foreach ($domain as $dom){
if (empty($dom)){
echo "No Territory";
}else{
print $dom . " - Territory is " . getDomTerr($dom)[0] . "\n";
}
}
?>
第一个函数 getTrunkDomain() 从一个函数中提取客户端名称列表
第二个函数 getDomTerr() 使用第一个函数的输出作为 CURL 输入,为客户端输出一个全局帐户。
我已经让脚本正常工作,但它只返回 getDomTerr() 结果的第一个字符。
功能一
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "Error #:" . $err;
} else {
return $response;
}
}
功能二
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "Error #:" . $err;
} else {
$temp = json_decode($response,true);
//print_r($temp);
return $temp[0]['territory'];
}
}
运行时的输出是:
domain1 - Territory is u
domain2 - Territory is a
domain3 - Territory is a
domain4 - Territory is u
其中“Territory is u”应该有一个多字符结果,而不仅仅是字母 u
关于为什么会这样的任何想法。如果我使用“域”的手动输入直接调用函数 2,它将返回全长字符串。
由于存在敏感信息,我无法显示完整的 curl CURLOP_URL,但它是失眠呼叫的输出,我在每个单独的呼叫中都在寻找正确的输出。
我是这方面的菜鸟,所以寻求一些帮助。
解决方案
原来我已经在函数 2 中设置了 ['territory']
由于该函数已经设置了领土的返回,我只引用了输出的 0 位置,而使用 getDomTerr($dom)[0] 它只返回了第一个字母。
删除了 [0],它现在返回完整的领土名称
推荐阅读
- c - C 函数声明中的插入符号 (^) 是什么意思?
- azure-ad-b2c - Microsoft Graph 对于 B2C 自定义策略更新用户详细信息的速度太快
- html - RSelenium:文本框中的输入值
- google-ads-api - 通过 Google Ads API 创建关键字标签
- python-3.x - 在python中绘制并行事件
- sql - 用另一个表的 sum 更新一个 postgrsql 表
- python - 为什么我在重新安装 linux 后出现 Cython 魔术名称错误?
- c++ - std::find 不能用自定义迭代器编译
- excel - 使用 Excel VBA 在 Outlook 中创建提醒
- google-translate - Google.Cloud.Translate.V3 只给出一个翻译结果