मैं एक-एक करके सरणी मान प्राप्त करना चाहता हूं और गतिशील रूप से foreach में जोड़ना चाहता हूं

$tracker = array('1','2','3')

मैं नीचे कई foreach बनाकर इसे मैन्युअल रूप से करने में सक्षम हूं

<?php
$tracker = array( '1' );
$hashx = array( $hash );
$info = $scraper->scrape( $hashx, $tracker );
foreach ($info as $key => $value) {
    $openseed = $value['seeders'];
}

$tracker = array( '2' );
$hashx = array( $hash );
$info = $scraper->scrape( $hashx, $tracker );
foreach ($info as $key => $value) {
    $pirateseed = $value['seeders'];
}

$tracker = array( '3' );
$hashx = array( $hash );
$info = $scraper->scrape( $hashx, $tracker );
foreach ($info as $key => $value) {
    $rarbgseed = $value['seeders']; 
}
?>

लेकिन मैं मैन्युअल रूप से एक-एक करके बनाने के बजाय गतिशील रूप से एक बार में सभी सरणी मानों को जोड़ना चाहता हूं

<?php
$tracker = array('1','2','3');

$hashx = array( $hash );
$info = $scraper->scrape( $hashx, $tracker );
foreach ($info as $key => $value) {
    $openseed = $value['seeders'];
}
?>

उपरोक्त कोड केवल पहले सरणी मान को पढ़ता है और मैं सभी सरणी मानों को पढ़ना चाहता हूं और परिणामों को अलग से संग्रहीत करना चाहता हूं और फिर नीचे दिए गए array_sum() का उपयोग करके उत्पन्न परिणाम की कुल संख्या की गणना करना चाहता हूं।

$totalseed = array($pirateseed,$openseed,$rarbgseed);
echo 'Total <font color="green">Seeders:</font> '. array_sum($totalseed). '<br />';

किसी भी मदद की सराहना की जाएगी धन्यवाद

php
-1
Ken 21 जुलाई 2018, 23:13
आप क्या पूछ रहे हैं यह अस्पष्ट है।
 – 
Greg
21 जुलाई 2018, 23:47
मैं चाहता हूं कि यह $tracker = array('udp://tracker.torrent.eu.org:451/announce', 'http://tracker.tfile.co:80/announce', 'http://retracker.spb.ru:80/announce', 'udp://open.demonii.si:1337/announce', 'http://peersteers.org:80/announce') सभी मूल्यों को स्वचालित रूप से foreach में प्राप्त करे ताकि foreach को सभी ट्रैकर्स से बीज और जोंक की संख्या मिल सके, आशा है कि यह अब स्पष्ट है
 – 
Ken
21 जुलाई 2018, 23:51
क्या आप पूछ रहे हैं कि प्रत्येक URL के लिए HTTP अनुरोध कैसे करें?
 – 
Greg
21 जुलाई 2018, 23:54
नहीं @ ग्रेग मुझे पता है कि अनुरोध कैसे करना है जो पहले से ही मेरे कोड में दिखाया गया है, मेरा सवाल यह है कि सरणी मानों के साथ स्वचालित रूप से फ़ोरैच कैसे उत्पन्न किया जाए ताकि यह सभी ट्रैकर्स से बीज और जोंक पढ़ सके
 – 
Ken
21 जुलाई 2018, 23:58
अभी भी अस्पष्ट। मुझे ईमानदारी से कोई सुराग नहीं है कि आप क्या पूछ रहे हैं और आपका कोड बहुत कम सुराग देता है।
 – 
Andreas
22 जुलाई 2018, 00:23

2 जवाब

var tracker = [1,2,3];
var tracker_counts = [];

for( let i in tracker ) {
  // scrape
  tracker_counts[i] = parseInt(Math.random() * 10); // put your $value['seeders'] here
}

console.log( "Tracker seeders individually: " + tracker_counts.join(',') );
console.log( "Seeders in total: " + tracker_counts.reduce((c,v) => c+=v ) ); // use array_sum in php

PHP के रूप में

<?php
$tracker = [1,2,3];
$tracker_counts = [];

foreach( $tracker as $k => $v ) {
  // scrape of $v
  $tracker_counts[$k] = rand(1,9); // put your $value['seeders'] here
}

echo "Tracker seeders individually: " . implode( ', ', $tracker_counts);
echo "\n";
echo "Seeders in total: " . array_sum( $tracker_counts );

आउटपुट

Tracker seeders individually: 7, 9, 6
Seeders in total: 22
0
Pilan 22 जुलाई 2018, 02:39

मैंने इसे एंड्रियास और पिलान की मदद से समझ लिया है, इसलिए मैं किसी और की तलाश के मामले में अंतिम कामकाजी समाधान पोस्ट कर रहा हूं

<?php
$ftracker = array('udp://tracker.torrent.eu.org:451/announce', 'http://tracker.tfile.co:80/announce', 'http://retracker.spb.ru:80/announce', 'udp://open.demonii.si:1337/announce');
$hashx = array( $hash );
$info = $scraper->scrape( $hashx, $ftracker );

$openseed = [];
foreach($ftracker as $track){
    $hashx = array( $hash );
    $info = $scraper->scrape( $hashx, $track );
    foreach ($info as $key => $value) {
        $openseed[] = $value['seeders'];
    }
}
echo 'Seed for Each Tracker Separately'.implode( ', ', $openseed);
echo 'Total Seed for All Trackers'. array_sum( $openseed );
?>

एंड्रियास और पिलाना को धन्यवाद

0
Ken 22 जुलाई 2018, 04:03
मैं वास्तव में सरणी देखना चाहता हूं, कुछ बहुत गलत है। यदि आप एक सरणी को फंसाते हैं तो यह एक स्ट्रिंग देता है, एक स्ट्रिंग को array_sum में स्वीकार नहीं किया जाना चाहिए। मेरा मानना ​​है, भले ही कोड अब काम करता है, यह एक अलग इनपुट के साथ टूट सकता है।
 – 
Andreas
22 जुलाई 2018, 10:06