Heim  >  Fragen und Antworten  >  Hauptteil

Ändern Sie einen bestimmten Wert in einem Array

Ich habe ein Array und die Daten werden aus einer SQL-Abfrage abgerufen. Das Array wird in einer Variablen namens $users gespeichert. Schauen Sie:

<?php
    
    ...

    $data = array();
    $data['users'] = $users;
    $data['status']= true;
    $this->format_json($data);
    
?>

Das ist das Ergebnis, das ich erhalten habe:

{
    "users":[
        {
            "id":"1",
            "name":"Joana",
            "avatar":"uploads/avatar/0eff31cdfa4d2b32c49e97dec010cc31_thumb.png"
        }
    ],
    "status":true
}

Ich möchte wissen, wie man am Anfang von „Avatar“ einen Link hinzufügt, zum Beispiel:

{
    "users":[
        {
            "id":"1",
            "name":"Joana",
            "avatar":"https://sitename.com/uploads/avatar/0eff31cdfa4d2b32c49e97dec010cc31_thumb.png"
        }
    ],
    "status":true
}

Ich habe es mit foreach versucht, weiß aber nicht, wie ich es in diesem Fall richtig verwenden soll. Ich weiß nicht, wie ich das oben erwähnte $users-Array überschreiben kann.

Vielen Dank an alle!


Bearbeiten

Das Problem wird so gelöst:

foreach ($users as $key => $entry) {
    $users[$key]->avatar = "https://sitename.com/" . $entry->avatar;
}
$data = array();
$data['users'] = $users;
$data['status']= true;
$this->format_json($data);

P粉253800312P粉253800312251 Tage vor425

Antworte allen(1)Ich werde antworten

  • P粉297434909

    P粉2974349092024-01-17 15:37:35

    您可以使用foreach循环遍历用户数组。 $value 之前的 & 运算符将允许您直接修改数组项,而无需索引。

    foreach ( $data['users'] as &$value ) {
      $value['avatar'] = 'https://sitename.com/' . $value['avatar'];
    }

    Antwort
    0
  • StornierenAntwort