array_push key => value, как это сделать? - PullRequest
0 голосов
/ 14 августа 2010

Я хочу нажать клавишу и значение в массиве, но я не могу

$con = mysqli_connect('localhost','root','','wp') or die (mysqli_error('Error:'));

$query = mysqli_query($con,'set names utf8')or die (mysql_error());
$qy = mysqli_query($con,"SELECT ID,post_title FROM wp_posts WHERE post_type='page' AND post_status='publish'")or die (mysql_error());
$arr = array();
while ($row = mysqli_fetch_array($qy)){
$id = "?page_id=".$row['ID'];
$title = $row['post_title'];
$arr[] = $id . "=>" . $title;
array_push($arr, "$id" => "$title");  
}

PLZ, помогите мне ..

спасибо ^ _ ^

Ответы [ 2 ]

3 голосов
/ 14 августа 2010

Вот что я бы сделал вместо этого:

$arr = array();
while ($row = mysqli_fetch_assoc($qy)){
    $id = $row['ID'];
    $arr[$id] = $row['post_title'];
}

А затем, когда вам нужно их распечатать:

foreach ($arr as $id => $title) {
    echo "?page_id={$id}'>{$title}</a>";
    // or whatever, depends on how you want to print it
}

Не храните ненужную информацию (например: ?page_id=)в массивах.

2 голосов
/ 14 августа 2010

Хотите сделать $arr[$id] = $title?Или вы хотите это:

if (!isSet($arr[$id])) {
    $arr[$id] = array();
}
$arr[$id][] = $title;

Первый из них сделает так, что $arr содержит $id=>$title.Последний сделает так, что $arr содержит $id=>array($title1,$title2,$title3) и т. Д., Если есть кратные.

...