как получить только определенную пару ключ => значение с помощью array_map () - PullRequest
0 голосов
/ 09 мая 2020

Я новичок в php и go в этом упражнении, чтобы получить только 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)...);

I удалось получить значения, но без array_map и только так:

array[
9789737953766, 15.58, 9789731970066, 32.3
];

Я не могу понять, как это сделать с array_map ().

Ответы [ 2 ]

2 голосов
/ 09 мая 2020

С array_map сделайте это так: Demo

array_map(function($v) {
    return [
        "isbn" => $v["isbn"],
        "price" => $v["price"]
    ];
}, $array);
0 голосов
/ 09 мая 2020
$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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...