2016-06-08 68 views
0

如何在數組內添加「for」函數輸出?由於陣列內的PHP代碼

for($idid = 0; $idid <= $say; $idid++) { 
    echo "@"; 
    print_r($string[$idid]['screen_name']); 
    echo " "; 
} 

$url = "https://api.twitter.com/1.1/statuses/update.json"; 
$twitter = new TwitterAPIExchange($settings); 
$requestMethod = 'POST'; 
$response = $twitter->setPostfields(
    array(
     'status' => "I NEED TO ADD FOR FUNCTION OUTPUT HERE") 
) 
    ->buildOauth($url, $requestMethod) 
    ->performRequest(); 

回答

2

你應該保存到一個變量,而不是打印到屏幕是這樣的:

$status = ""; 
for($idid = 0; $idid <= $say; $idid++) { 
    $status .= "@"; 
    $status .= print_r($string[$idid]['screen_name'], true); 
    $status .= " "; 
} 

print_r第二個參數是直接返回輸出打印。您可以查看更多here

而在此之後使用$status變量數組中像這樣:

$response = $twitter->setPostfields(
    array('status' => $status) 
) 
1

你只需要建立一個字符串,而在你的for循環,然後引用您的API調用:

$status = ''; 
for ($idid = 0; $idid <= $say; $idid++) { 

    // Only keep if you're also printing output to the screen 
    echo "@"; 
    print_r($string[$idid]['screen_name']); 
    echo " "; 

    // New Code 
    $status .= '@' . $string[$idid]['screen_name'] . ' '; 
} 

$url = "https://api.twitter.com/1.1/statuses/update.json"; 
$twitter = new TwitterAPIExchange($settings); 
$requestMethod = 'POST'; 
$response = $twitter->setPostfields(array(
     'status' => trim($status) 
    ))->buildOauth($url, $requestMethod) 
    ->performRequest(); 
1

而不是打印字符串,只需將它們保存在一個變量供以後使用。

$var = ''; 
for($idid = 0; $idid <= $say; $idid++) { 
    $var = $var . "@"; 
    $var = $var . print_r($string[$idid]['screen_name'], true); 
    $var = $var . " "; 
} 

... 

$response = $twitter->setPostfields(
    array(
     'status' => $var) 
) 

編輯:print_r()接受第二個參數,如果這是true輸出返回爲一個字符串,而不是打印。

這個時間段用於字符串連接,並且有這種短格式,即$ var。='';而不是$ var = $ var。 '';。但現在爲了清晰起見,我寫了代碼。

0

使for-loop的內容成爲變量。像這樣:

$output = ""; 
for($idid = 0; $idid <= $say; $idid++) { 
    $output .= "@".print_r($string[$idid]['screen_name'], true)." "; // true makes it return the content instead of printing it 
} 

$url = "https://api.twitter.com/1.1/statuses/update.json"; 
$twitter = new TwitterAPIExchange($settings); 
$requestMethod = 'POST'; 
$response = $twitter->setPostfields(
    array(
     'status' => $output) 
) 
    ->buildOauth($url, $requestMethod) 
    ->performRequest();