如何用array_map()只获取某个key=>值对?

问题描述 投票:0回答:2

我是一个新的php和,去这个练习,以获得只有从这个数组的isbn和价格。

    array ( "isbn" => "9789737953766" , "author" => "Ágoston Katalin, Domokos József, Márton Lőrinc" , "title" => "Érzékelők és jelátalakítók" , "pub_name" => "Scientia Kiadó, Kolozsvár" , "pub_date" => "2007-02-01" , "price" => 15.58),
    array ( "isbn" => "9789731970066" , "author" => "Tőkés Gyöngyvér" , "title" => "Szakma vagy hivatás? " , "pub_name" => "Scientia Kiadó, Kolozsvár" , "pub_date" => "2008-07-25" , "price" => 32.3),
    array ( "isbn" => "9789738598546" , "author" => "Nagy László (szerk.)" , "title" => "Tanulmányok a természettudományok tárgyköréből" , "pub_name" => "Scientia Kiadó, Kolozsvár" , "pub_date" => "2002-01-01" , "price" => 13),
    array ( "isbn" => "9789737953612" , "author" => "Oláh-Gál Róbert" , "title" => "Az informatika alapjai közgazdász- és mérnökhallgatóknak" , "pub_name" => "Scientia Kiadó, Kolozsvár" , "pub_date" => "2007-01-01" , "price" => 15.58),
    array ( "isbn" => "9789737953797" , "author" => "Józon Mónika" , "title" => "Általános jogelméleti és polgári jogi ismeretek" , "pub_name" => "Scientia Kiadó, Kolozsvár" , "pub_date" => "2007-01-30" , "price" => 36.72),
    array ( "isbn" => "9789737953834" , "author" => "Kakucs András" , "title" => "Áramlástan" , "pub_name" => "Scientia Kiadó, Kolozsvár" , "pub_date" => "2007-10-01" , "price" => 34.64),
    array ( "isbn" => "9789737953827" , "author" => "Szilágyi Györgyi, Flóra Gábor, Ari Gyula" , "title" => "Bihar megye gazdasági-társadalmi fejlődése" , "pub_name" => "Scientia Kiadó, Kolozsvár" , "pub_date" => "2007-11-01" , "price" => 38.48),
    array ( "isbn" => "9789737953803" , "author" => "Majdik Kornélia, Tonk Szende-Ágnes" , "title" => "Biokémiai alkalmazások" , "pub_name" => "Scientia Kiadó, Kolozsvár" , "pub_date" => "2007-06-01" , "price" => 19.46),
    array ( "isbn" => "9789737953902" , "author" => "Urák István" , "title" => "Date despre arahnofauna din bazinul superior al Oltului" , "pub_name" => "Scientia Kiadó, Kolozsvár" , "pub_date" => "2008-01-01" , "price" => 28.78));

预期的输出:

$newArray=array(
array ( "isbn" => "9789737953766" , "price" => 15.58),
array ( "isbn" => "9789731970066" , "price" => 32.3)...);

我成功地得到了这些值,但是,没有使用array_map,只有这样。

array[
9789737953766, 15.58, 9789731970066, 32.3
];

我不知道如何用array_map()来实现.

php html array-map
2个回答
2
投票

用array_map,这样做。演示

array_map(function($v) {
    return [
        "isbn" => $v["isbn"],
        "price" => $v["price"]
    ];
}, $array);

0
投票
$data = [
    [
        "isbn" => "9789737953766" ,
        "author" => "Ágoston Katalin, Domokos József, Márton Lőrinc" ,
        "title" => "Érzékelők és jelátalakítók" ,
        "pub_name" => "Scientia Kiadó, Kolozsvár" ,
        "pub_date" => "2007-02-01" , "price" => 15.58
    ],
];

function modify($ctx) {
    return ["isbn" => $ctx['isbn'], "price" => $ctx['price']];
}

$res = array_map("modify", $data);
print_r($res);
© www.soinside.com 2019 - 2024. All rights reserved.