来自 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删除数组中元素的区别

PHP常用方法和使用技巧

PHP索引数组+unset使用不当导致的问题

PHP中unset,array_splice删除数组中元素的区别

PHP Mysql PDO查询来自foreach存储的多个值以供输出