来自 PHP 数组的 Unset() 值以防止打印到屏幕
Posted
技术标签:
【中文标题】来自 PHP 数组的 Unset() 值以防止打印到屏幕【英文标题】:Unset() value from PHP Array To Prevent Print Out To Screen 【发布时间】:2021-12-26 22:40:40 【问题描述】:我是一名 jr 开发人员,正在开发一个使用 API 检索网站数据的 wordpress 插件。 API 调用中包含同一页面上 Google 地图 API 的纬度和经度值。有一个 for 循环可以打印 API 中提供的每个值。我想阻止此循环将提供的纬度和经度值打印到屏幕,同时仍将这些值提供给 Google 地图。我想到了一些解决方案,但我不确定哪个是最好的解决方案...... 1.) Unset() for 循环点处的纬度和经度值。也许这会阻止它将值应用于 Google Map API?
2.) 在 for 循环中设置一个 if 语句来监视这两个值 - 但这将在每次循环多个字段之一时检查值,此解决方案是否会降低性能/速度网站的?
提前谢谢你
【问题讨论】:
您好,您能否提供一些有关如何从 api(仅需要数据结构)检索一些虚拟数据的问题示例数据数组的更多详细信息。还有什么你把我打印出来的东西放到屏幕上?因此,一旦将其应用于地图,您就需要将其删除。我试着理解你的问题。不确定是否会做这样的事情。 $v) unset($arr[$k]); print_r($arr)>>> API 有效负载有几个值,我们希望将其回显到网站上,以供任何用户使用浏览器查看。这是值的一个小样本...[BathsFull] => 2, [BathsHalf] => 1, [BathsTotal] => 3, [BedsTotal] => 4, [Latitude] => 96.794636, [Longitude] => -96.828915, [ListPrice] => 729900
正如我之前提到的,for 循环打印该数组(API)中的所有内容我不想将纬度和经度值打印到网页,但我仍然希望能够将这些值提供给 Google Maps API
【参考方案1】:
我希望数组映射是你要找的
$in=[
[
'BathsFull' => 2,
'BathsHalf' => 1,
'BathsTotal' => 3,
'BedsTotal' => 4,
'Latitude' => 96.794636,
'Longitude' => -96.828915,
'ListPrice' => 729900
],
[
'BathsFull' => 2,
'BathsHalf' => 1,
'BathsTotal' => 3,
'BedsTotal' => 4,
'Latitude' => 96.794636,
'Longitude' => -96.828915,
'ListPrice' => 729900
]
];
print_r($in);
$out = array_map(function (array $arr) unset($arr['Longitude'],$arr['Latitude']);return $arr;, $in);
print_r($out);
【讨论】:
以上是关于来自 PHP 数组的 Unset() 值以防止打印到屏幕的主要内容,如果未能解决你的问题,请参考以下文章
PHP中unset,array_splice删除数组中元素的区别
(实用篇)PHP中unset,array_splice删除数组中元素的区别