php在html上调用数组,PHP:如何在数组数组上执行htmlspecialchar()?

本文讨论了如何在PHP中处理数组对象,特别是如何使用htmlspecialchars函数来转义数组中的字符串。作者遇到的问题是由于数组包含嵌套数组,导致直接使用htmlspecialchars无法正常工作。尝试了array_walk_recursive和array_map等方法,但未成功。最终解决方案可能涉及递归函数或遍历数组并逐个应用htmlspecialchars。
摘要由CSDN通过智能技术生成

如何在数组对象上运行PHP函数htmlspecialchars()?PHP:如何在数组数组上执行htmlspecialchar()?

我有以下代码:

$result_set = Array

(

[0] => Array

(

[home_id] => 1

[address] => 4225 Nasmyth Dr

[city] => Plano

[state] => TX

[zip] => 76798

)

[1] => Array

(

[home_id] => 8

[address] => 4229 Nasmyth Dr

[city] => Plano

[state] => TX

[zip] => 75093

)

);

// this doesn't work since $result_set is an array of arrays and htmlspecialchars is expecting a string

htmlspecialchars($result_set, ENT_QUOTES, 'UTF-8'));

UPDATE:

请注意,即使有下面相当多的答案,他们没有一个阵列的工作-arrays。下面的答案只适用于简单的数组。

我试过以下,但它不工作:

array_walk_recursive($result_set, "htmlspecialchars", array(ENT_QUOTES,'UTF-8'))

我得到以下错误:htmlspecialchars() expects parameter 2 to be long, string given

更新2

当我尝试:

function cleanOutput(&$value) {

return htmlspecialchars($value, ENT_QUOTES, 'UTF-8');

}

print_r($result_set);

print('-------');

print_r(array_walk_recursive($result_set, "cleanOutput"));

我得到以下,不想要,输出:

Array

(

[0] => Array

(

[home_id] => 1

[address] => 4225 Nasmyth Dr

[city] => Plano

[state] => TX

[zip] => 76798

)

[1] => Array

(

[home_id] => 8

[address] => 4229 Nasmyth Dr

[city] => Plano

[state] => TX

[zip] => 75093

)

)

-------1

更新3

当我尝试:

function cleanOutput(&$value) {

return htmlspecialchars($value, ENT_QUOTES, 'UTF-8');

}

$result_set = Array

(

[0] => Array

(

[home_id] => 1

[address] => 4225 Nasmyth Dr

[city] => Plano

[state] => TX

[zip] => 76798

)

[1] => Array

(

[home_id] => 8

[address] => 4229 Nasmyth Dr

[city] => Plano

[state] => TX

[zip] => 75093

)

);

$cleanedOutput = array();

foreach ($result_set as $rs) {

$cleaned[] = array_map("cleanOutput", $rs);

}

print_r($cleanedOutput);

我得到以下,不想要,结果:

{'homes' : []}

2010-01-04

TeddyR

+0

是什么'$ result_set'包含哪些内容? –

2010-01-04 22:25:13

+0

$ result_set是我查询结果数据库的数组 –

2010-01-04 22:26:45

+0

当你做了一个array_map('htmlspecialchars',$ result_set,array(ENT_QUOTES,'UTF-8'))时发生了什么?是与htmlspecialchars或array_map错误? –

2010-01-04 23:03:01

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值