2012-04-27 3 views
0

나는 체크 박스가있는 html 양식이 있습니다. 누군가 하나 이상의 체크 박스를 선택하고 삭제 버튼을 누르면 데이터베이스에서 파일 참조를 삭제하고 Amazon S3에서 파일을 삭제합니다. 이것은 내가여러 php 배열을 만들기

$checkbox_select = JRequest::getVar('checkboxselect', '', 'POST'); //just a Joomla way of doing a $_POST with extra security 
var_dump($checkbox_select); //this returns: array(2) { ["video_1.mp4"]=> string(2) "on" ["video_2.mp4"]=> string(2) "on" ["video_3.mp4"]=> string(2) "on"} 

// Localize and sanitize each individual value 
foreach (array_keys($checkbox_select) as $element) { 
    $deleteNames[] = $db->quote($element); 
} 
var_dump($deleteNames); //array(3) { [0]=> string(13) "'video_3.mp4'" [1]=> string(13) "'video_2.mp4'" [2]=> string(13) "'video_1.mp4'" } 

내 문제는 아마존 S3와 여러 파일 삭제를 모든 체크 박스를 찾기 위해 사용되는 코드입니다. 나는에 S3 삭제를 둘 필요가 형식은 매우 혼란 :

지금까지 내가 이해
$s3->delete_objects('mybucket', array(

'objects' => array(// accepts a *list* of one or more *hashes* 

    // a *hash* that contains a "key" key with a value, and maybe a "version_id" key with a value 
    array('key' => 'object (file) name'), 

    // a second hash representing a file 
    // a third hash representing a file 
    // and so on... 
), 
)); 

(S3 delete_objects 함수에서) 최종 연관 배열은 실제 키 값으로 key 있습니다. 마지막 var_dump으로 내가 배열에있는 모든 비디오 이름을 가지고 지금은 그냥이 형식으로 배열의 무리에 해당 배열을 변환해야합니다

array ('key' => 'video_1.mp4'), 
array ('key' => 'video_2.mp4'), 
array ('key' => 'video_3.mp4'), 
...and so on 
나는이 배열을 만들 수있는 방법

? 내가 가지고있는 첫 번째 var_dump를 사용해야합니까 (둘 다 비디오 파일 이름이 나열되어 있습니까)? 미리 감사드립니다.

답변

0

foreach을 사용하여 배열을 반복하고 원하는 형식으로 새 배열을 만들 수 있습니다.

예 :

<?php 

foreach (array_keys($checkbox_select) as $element) { 
    $deleteNames[] = array('key' => $db->quote($element)); 
} 

이 안된 포함 할 수있는 오류