我有cURL函数,它根据我提供的ID调用api并返回数组中的数据。到目前为止一切都很完美。我想要的,也无法弄明白的是:
我有foreach在表中显示所有命令谎言
@foreach($orders as $order)
$order->address
$order->time_created
$order->price
... etc
@endforeach
是否可以将此cURL放在foreach中并根据$order->order_id
添加每行以显示数组中的更多数据?
这样的事情
@foreach($orders as $order)
$order->address
$order->time_created
$order->price
... etc
$url = get_curl_content_tx("http://example.com/".$order->order_id);
$data = json_decode($url,true);
@foreach ( $data as $moreData )
@if ( $moreData['data'] == $order->time_created )
// show something
@else
// show other thing
@endif
@endforeach
@endforeach
我的问题是我无法弄清楚如何循环网址以便我可以得到所有orders_id
,即
$url = get_curl_content_tx("http://example.com/1");
$url = get_curl_content_tx("http://example.com/2");
$url = get_curl_content_tx("http://example.com/3");
$url = get_curl_content_tx("http://example.com/4");
$url = get_curl_content_tx("http://example.com/5");
$url = get_curl_content_tx("http://example.com/6");
然后我可以执行if/else
块。我使用的框架是Laravel 4.2。
希望我想要完成的事情已经足够清楚了。如果不是,我会尝试清除事情..
编辑:示例应该是什么:
<table>
<thead>
<tr>
<th class="text-center">#</th>
<th class="text-center">Date Created</th>
<th class="text-center">Name</th>
</tr>
</thead>
<tbody>
<tr>
<th>1</th>
<th>$url = get_curl_content_tx("http://example.com/1")</th>
<th>Product 1</th>
</tr>
<tr>
<th>2</th>
<th>$url = get_curl_content_tx("http://example.com/2")</th>
<th>Product 2</th>
</tr>
</tbody>
</table>
答案 0 :(得分:1)
您可以使用laravel的unique
方法进行收藏,以便在迭代前删除重复的订单ID。
$collection = collect([
['name' => 'iPhone 6', 'brand' => 'Apple', 'type' => 'phone'],
['name' => 'iPhone 5', 'brand' => 'Apple', 'type' => 'phone'],
['name' => 'Apple Watch', 'brand' => 'Apple', 'type' => 'watch'],
['name' => 'Galaxy S6', 'brand' => 'Samsung', 'type' => 'phone'],
['name' => 'Galaxy Gear', 'brand' => 'Samsung', 'type' => 'watch'],
]);
$unique = $collection->unique('brand');
$unique->values()->all();
或者您也可以使用PHP方法。 How to remove duplicate values from a multi-dimensional array in PHP
答案 1 :(得分:0)
我已设法做到并将其作为答案发布。因为我已经拥有该产品的ID,所以我直接在刀片中做到了这一点。也许有改进的余地,但现在至少它正在发挥作用。
这是在条件
时没有回声的短版本public class ObservableSortedSet<T> : SortedSet<T>, INotifyPropertyChanged, INotifyCollectionChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public event NotifyCollectionChangedEventHandler CollectionChanged;
public void NotifyPropertyChanged(string propName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName));
}
public void AddAndNotify(T element)
{
Add(element);
CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add));
}
public void RemoveAndNotify(T element)
{
Remove(element);
CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove));
}
}