-1

複数の配列(すべてPDOステートメントを使用したMySQLデータベースからの結果)があります。例として次の1つを示します。

Array ( [id] => 1 [0] => 1 [name] => HELLO [1] => HELLO )

配列としては、数字ではないキー(この場合は「id」と「name」)のみが必要です。

整数であるキーを除外して、次のような配列になるようにするにはどうすればよいですか。

Array ( [id] => 1 [name] => HELLO )

(キーは、常に「id」と「name」、または名前番号、または同じ数の配列キーになるとは限りません)

4

2 に答える 2

4

適切なフラグPDO::FETCH_ASSOCを使用して行をフェッチするこの問題を解決する必要があると思います

$sth = $dbh->prepare("SELECT id,name FROM tableName");
$sth->execute();

$row = $sth->fetch(PDO::FETCH_ASSOC); // use this flag for return only column names

それが不可能な場合:

foreach($array as $k=>$v) {
    if(filter_var(FILTER_VALIDATE_INT, $k) !== FALSE) {
        unset($array[$k]);
    }
}
于 2012-12-11T23:29:07.523 に答える
0
$newRow = array();
foreach($row as $key => $value)
    if(is_string($key))
        $newRow[$key] = $value;
于 2012-12-11T23:25:41.117 に答える