ফরচ লুপ থেকে অ্যারেতে মানগুলি কীভাবে সংরক্ষণ করবেন?


115

ফরচ লুপ থেকে একটি অ্যারেতে মানগুলি সংরক্ষণ করা দরকার, এটি করতে সহায়তা প্রয়োজন।

নীচের কোডটি কাজ করে না, কেবল সর্বশেষ মান সঞ্চয় করে, চেষ্টা করেছে $items .= ...,তবে তা কৌশলটি করছে না, কোনও সাহায্য প্রশংসা করা হবে।

foreach($group_membership as $i => $username) {
    $items = array($username);
}

print_r($items);

12
.=পাঠ্য সংযোজন। []একটি অ্যারে জুড়ে।
স্কিলড্রিক

এতদূর পর্যন্ত স্কিলড্রিক এটিকে একটি লাইনারের সাথে পেরেক দিয়েছিলেন আর কোনও দরকার নেই।
ব্যবহারকারী 1946891

উত্তর:


255

$itemsলুপের বাইরে অ্যারে ঘোষণা করুন এবং অ্যারেতে $items[]আইটেম যুক্ত করতে ব্যবহার করুন:

$items = array();
foreach($group_membership as $username) {
 $items[] = $username;
}

print_r($items);

7
এছাড়াও, $iযদি আপনি এটি ব্যবহার না করে থাকেন তবে কী ( ) টি বের করবেন না ।
মাত্তেও রিভা

2
ভবিষ্যদ্বাণী $items = array();করার আগে ঘোষণা করাও প্রয়োজনীয় নয়, তাই না? পিএইচপি কেবল একটি খালি অ্যারে তৈরি করবে
BassMHL

যদি কিছু $ ব্যবহারকারীর নাম শূন্য হয় তবে কী হবে? আমাদের অনুরূপ পরিস্থিতি রয়েছে যেখানে রেকর্ডগুলি একটি এপিআই গঠন করছে এবং কোনওভাবে আমরা অ্যারেতে কিছু নাল রেকর্ড শেষ করছি।
পিক্সেলউইজ

14

ব্যবহার

$items[] = $username;

7
$items = array();লুপের আগে উপস্থিত হওয়া নিশ্চিত করুন ।
স্কিলড্রিক

আপনাকে কেন $ আইটেমগুলি = অ্যারে () ঘোষণা করতে হবে তা বোঝাতে সহায়তা করতে পারেন; লুপ আগে। আমি এই জাতীয় কিছু করেছি এবং এটি ঘোষণা করি নি এবং এটি এখনও কার্যকর। এটি যুক্ত করা ভাল বা এটি প্রয়োজন হয় না?
robk27


7

চেষ্টা

$items = array_values ( $group_membership );

1
আমি ধরেই নিয়েছি ফরচ লুপ এর চেয়ে আরও বেশি কিছু করছে, অন্যথায় এটিই সেরা সমাধান।
মাত্তেও রিভা

5
<?php 
$items = array();
$count = 0;
foreach($group_membership as $i => $username) { 
 $items[$count++] = $username; 
} 
print_r($items); 
?>

3
$ কাউন্ট স্টাফের দরকার নেই। মাত্র $ অ্যারে [] = $ জিনিস;

যদিও আমি এই উত্তরটি হ্রাস করতে চলেছি যদিও: ১. এটি একটি কোড-উত্তর মাত্র যে ২. বিকাশকারীদের অপ্রয়োজনীয় / খারাপ অভ্যাসগুলি প্রশিক্ষণ দেয় ... কারণ শৃঙ্খলাবদ্ধ জিনিসটি করার এবং স্ট্যাকওভারফ্লোকে আরও উন্নত সংস্থান হিসাবে গড়ে তোলার এটি একটি দুর্দান্ত সুযোগ is ।
মিকম্যাকুসা

আমার ইস্যু রয়েছে যেখানে আমার অ্যারে কেবলমাত্র শেষ উপাদানটি প্রদান করে যা অ্যারেতে ঠেলেছিল। আপনার পরামর্শ অনুসারে গণনাটি ব্যবহার করে আমার সমস্যাটি সমাধান হয়েছে।
জাস প্রীত

2

আপনি আমার উত্তর দেওয়ার চেষ্টা করতে পারেন,

আপনি এটি লিখেছেন:

<?php
foreach($group_membership as $i => $username) {
    $items = array($username);
}

print_r($items);
?>

এবং আপনার ক্ষেত্রে আমি এটি করব:

<?php
$items = array();
foreach ($group_membership as $username) { // If you need the pointer (but I don't think) you have to add '$i => ' before $username
    $items[] = $username;
} ?>

আপনি আপনার প্রশ্নে প্রদর্শিত হিসাবে মনে হচ্ছে আপনার একটি নির্দিষ্ট গোষ্ঠীতে থাকা ব্যবহারকারীর নামগুলির একটি অ্যারের প্রয়োজন: :) এই ক্ষেত্রে আমি একটি সাধারণ যখন লুপের সাথে একটি ভাল এসকিএল কোয়েরি পছন্দ করি;)

<?php
$query = "SELECT `username` FROM group_membership AS gm LEFT JOIN users AS u ON gm.`idUser` = u.`idUser`";
$result = mysql_query($query);
while ($record = mysql_fetch_array($result)) { \
    $items[] = $username; 
} 
?>

whileদ্রুত, তবে শেষ উদাহরণটি কেবল পর্যবেক্ষণের ফলাফল। :)


0
$items=array(); 
$j=0; 

foreach($group_membership as $i => $username){ 
    $items[$j++]=$username; 
}

আপনার কোডটিতে কেবল উপরেরটি ব্যবহার করে দেখুন।


এই কোড-উত্তরটি কোনও বিকাশকারী দ্বারা ব্যবহার করা উচিত নয়। কাউন্টার এবং ইনক্রিমেন্টিং মোটেই প্রয়োজন হয় না।
মিকম্যাকুসা

0

আপনাকে খুব বেশি টাইপস বাঁচাতে:

foreach($group_membership as $username){
        $username->items = array(additional array to add);
    }
    print_r($group_membership);

-1

এই প্রশ্নটি বেশ পুরানো মনে হচ্ছে তবে আপনি যদি এটি পাস করেন তবে আপনি পিএইচপি ইনবিল্ট ফাংশন অ্যারে_পশ () ব্যবহার করতে পারেন নীচের উদাহরণটি ব্যবহার করে একটি অ্যারে ডেটা পুশ করতে।

<?php
    $item = array();
    foreach($group_membership as $i => $username) {
        array_push($item, $username);
    }
    print_r($items);
?>

পুনরাবৃত্তি ফাংশন কল করা অকার্যকর। স্কয়ার ব্রেস পুশিং সিনট্যাক্স (8 বছর আগে প্রস্তাবিত) আরও দক্ষ হবে। এই উত্তরটি একক উপাদানগুলিকে অ্যারেতে ঠেলাতে ব্যবহার করা উচিত নয়। (এবং ঘোষণাটি $iঅকেজো)
মিকম্যাকুসা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.