Php 如何在foreach中向字符串添加值?
我有一个包含大量信息的数组。我想提取一些信息: *一串 *到一个新数组 我试着这样做是为了一个字符串:Php 如何在foreach中向字符串添加值?,php,Php,我有一个包含大量信息的数组。我想提取一些信息: *一串 *到一个新数组 我试着这样做是为了一个字符串: $output; foreach ($response->data as $post){ $output = $output . $post->link; } echo $output; 但是foreach中的$output是未定义的 这是一个好的解决方案吗?在这种情况下,如何声明具有正确范围的变量?请尝试以下代码 $output = ''; foreach ($resp
$output;
foreach ($response->data as $post){
$output = $output . $post->link;
}
echo $output;
但是foreach中的$output是未定义的
这是一个好的解决方案吗?在这种情况下,如何声明具有正确范围的变量?请尝试以下代码
$output = '';
foreach ($response->data as $post){
$output = $output . $post->link;
}
echo $output;
.请尝试此代码
$output = '';
foreach ($response->data as $post){
$output = $output . $post->link;
}
echo $output;
或者您可以使用join
$output = join('',$response->data);
或者您可以使用join
$output = join('',$response->data);
试一试
试一试
出现错误是因为您没有在开头初始化
$output
变量
尝试$output=“”代码>取而代之
但另一方面,一个更优雅的解决方案是使用PHP内置的infrade()
方法
手册:
你可以这样做:
$output = implode(" ", $response->data);
echo $output;
更新
如果要“内爆”关联阵列,linepogl对此问题的回答提供了一个很好的示例:
更新2
下面是一个更新的代码,它实际上处理了您问题的->链接
部分:
$response_array = array();
foreach ($response->data as $post) {
$response_array[] = $post->link;
}
$output = implode(" ", $response_array);
echo $output;
出现错误是因为您没有在开头初始化$output
变量
尝试$output=“”代码>取而代之
但另一方面,一个更优雅的解决方案是使用PHP内置的infrade()
方法
手册:
你可以这样做:
$output = implode(" ", $response->data);
echo $output;
更新
如果要“内爆”关联阵列,linepogl对此问题的回答提供了一个很好的示例:
更新2
下面是一个更新的代码,它实际上处理了您问题的->链接
部分:
$response_array = array();
foreach ($response->data as $post) {
$response_array[] = $post->link;
}
$output = implode(" ", $response_array);
echo $output;
试着
$output = '';
foreach ($response->data as $post){
$output .= $post->link;
}
echo $output;
首先,您需要将$output值初始化为null,然后仅在foreach循环中将结果连接到$output。尝试类似的操作
$output = '';
foreach ($response->data as $post){
$output .= $post->link;
}
echo $output;
$output = array();
foreach ($response->data as $post){
$output[] = $post->link;
}
foreach( $output as $key => $value ){
echo $value;
}
首先,您需要将$output值初始化为null,然后仅在foreach循环中将结果连接到$output
$output = array();
foreach ($response->data as $post){
$output[] = $post->link;
}
foreach( $output as $key => $value ){
echo $value;
}
对于您的代码,您可以执行以下操作:
$output = NULL;
foreach ($response->data as $post){
$output .= $post->link;
}
echo $output;
对于您的代码,您可以执行以下操作:
$output = NULL;
foreach ($response->data as $post){
$output .= $post->link;
}
echo $output;
在foreach
中使用变量之前,必须先定义该变量。比如:
$output="";
而不是
$output;
在foreach
中使用变量之前,必须先定义该变量。比如:
$output="";
而不是
$output;
您能给我们看一个您试图循环的数据样本吗?$output=''
在foreach
之前。您能给我们展示一下您试图循环使用的数据样本吗?$output=''
在foreach之前foreach
。这与OP目前所做的有何不同?@AmalMurali那是打字错误。。。哦,你很快就能做出判断……:)这与OP目前正在做的有什么不同?@AmalMurali这是打字错误。。。哦,你很快就能做出判断……:)如果其关联数组…?嗯,假设OP正在访问$response->data
的每个元素的属性$link
,您可能更应该使用一个匿名函数对数组映射()的结果进行内爆,该函数返回$link
属性;-)是的,哈夫洛克。很好。我已经更新了我的答案来处理那个病例。谢谢你的指点$response_array=[]为我提供了错误-->分析错误:语法错误,意外的“[”对不起,ViPiN--错误的RoR习惯。更正了该示例。使用=array()
相反。如果它的关联数组…?嗯,假设OP正在访问$response->data
的每个元素的属性$link
,您可能更应该对数组的结果进行内爆
使用匿名函数,该函数返回$link
属性;-)是的,Havelock。要点很好。我已经更新了我的答案来处理这种情况。感谢指针!$response\u array=[]为我提供了错误-->解析错误:语法错误,意外的'['对不起,ViPiN--错误的错误习惯。更正了示例。使用=array()
。