【发布时间】:2016-06-18 00:42:33
【问题描述】:
我在 PHP 中有一个多维数组(假数据):
Array
(
[0] => Array
(
[pmkSuppliers] => 1
[0] => 1
[Name] => Supplier2
[1] => Supplier2
[Email] => Me@me.com2
[2] => Me@me.com2
[Address] => 624 st
[3] => 624 st
[Phone] => 900-111-1111
[4] => 900-111-1111
[Fax] => 900-111-1112
[5] => 900-111-1112
[TechSupport] => 900-111-1112
[6] => 900-111-1112
[Contact] => Greg
[7] => Greg
[Modified] => 2016-06-07
[8] => 2016-06-07
)
[1] => Array
(
[pmkSuppliers] => 2
[0] => 2
[Name] => Nike
[1] => Nike
[Email] => me@none.com
[2] => me@none.com
[Address] => 4566 way
[3] => 4566 way
[Phone] => 901-206-5555
[4] => 901-206-5555
[Fax] => 901-206-5555
[5] => 901-206-5555
[TechSupport] => 901-206-5445
[6] => 901-206-5445
[Contact] => Brad
[7] => Brad
[Modified] => 2016-06-08
[8] => 2016-06-08
)
)
我想用非 int 键删除所有元素。所以它看起来像这样:
Array
(
[0] => Array
(
[0] => 1
[1] => Supplier2
[2] => Me@me.com2
[3] => 624 st
[4] => 900-111-1111
[5] => 900-111-1112
[6] => 900-111-1112
[7] => Greg
[8] => 2016-06-07
)
[1] => Array
(
[0] => 2
[1] => Nike
[2] => me@none.com
[3] => 4566 way
[4] => 901-206-5555
[5] => 901-206-5555
[6] => 901-206-5555
[7] => Brad
[8] => 2016-06-08
)
)
我认为必须有一个简单的方法来做到这一点,但我被困住了。我不能使用 PHP 方法 array_unique 因为有时我的数组中的值是相同的(就像在第二组中一样)。
如果有人能指出我正确的方向,那就太棒了。
谢谢,
FP
编辑
这就是我一直在做的,但它看起来很粗糙。
foreach ($array as $insideArray) {
foreach ($insideArray as $key => $value) {
if (!is_int($key)) {
echo $value;
}
}
}
【问题讨论】:
-
您是否使用 PDO 获取此内容?
-
你可以尝试使用is_numeric+array_flip
-
@Thamilan 是的,绕道而行。
-
然后,只需将 fetch 样式更改为
PDO::FETCH_NUM。我可以看看你的获取代码吗? -
@SML 我认为你的方式会奏效,但我不确定它是否会比我一直这样做的方式更优雅/高效。 (见我的编辑)。