programing

값과 키를 모두 PHP 어레이에 푸시하는 방법

bestcode 2022. 9. 26. 23:06
반응형

값과 키를 모두 PHP 어레이에 푸시하는 방법

이 코드를 봐 주세요.

$GET = array();    
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */

저는 다음과 같은 것을 찾고 있습니다.

print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */

(왜냐하면)array_push

요.array_push()다음 키를 결정할 방법이 없기 때문에 관련 어레이에 동등합니다.

를 사용해야 합니다.

$arrayname[indexname] = $value;

값을 배열에 밀어넣으면 해당 값에 대한 숫자 키가 자동으로 생성됩니다.

어레이에 키와 값의 쌍을 추가할 때는 이미 키가 있으므로 생성할 필요가 없습니다.키를 어레이에 밀어 넣는 것은 의미가 없습니다.어레이의 특정 키 값만 설정할 수 있습니다.

// no key
array_push($array, $value);
// same as:
$array[] = $value;

// key already known
$array[$key] = $value;

(union 연산자를 사용할 수 있습니다.+어레이를 조합하여 추가된 어레이의 키를 유지합니다.예를 들어 다음과 같습니다.

<?php

$arr1 = array('foo' => 'bar');
$arr2 = array('baz' => 'bof');
$arr3 = $arr1 + $arr2;

print_r($arr3);

// prints:
// array(
//   'foo' => 'bar',
//   'baz' => 'bof',
// );

'아예'를 할 수 요.$_GET += array('one' => 1);

유니온 오퍼레이터의 사용에 대한 자세한 내용은array_mergehttp://php.net/manual/en/function.array-merge.php에 있는 매뉴얼에 기재되어 있습니다.

가장 간단한 방법이 아직 게시되지 않은 이유는 무엇입니까?

$arr = ['company' => 'Apple', 'product' => 'iPhone'];
$arr += ['version' => 8];

표에 답변을 추가하고 싶습니다.다음은 예를 제시하겠습니다.

//connect to db ...etc
$result_product = /*your mysql query here*/ 
$array_product = array(); 
$i = 0;

foreach ($result_product as $row_product)
{
    $array_product [$i]["id"]= $row_product->id;
    $array_product [$i]["name"]= $row_product->name;
    $i++;
}

//you can encode the array to json if you want to send it to an ajax call
$json_product =  json_encode($array_product);
echo($json_product);

이것이 도움이 되기를 바란다

페카가 말한 그대로야

또는 필요에 따라 array_merge를 다음과 같이 사용할 수도 있습니다.

array_merge($_GET, array($rule[0] => $rule[1]));

하지만 나는 Pekka의 방법이 훨씬 더 간단하기 때문에 선호한다.

나는 그저 같은 것을 찾고 있었을 뿐이고, 다시 한 번 내가 구식이기 때문에 내 생각이 다르다는 것을 깨달았다.BASIC과 PERL로 돌아가면 PHP가 얼마나 쉬운지 잊어버릴 때가 있습니다.

3컬럼으로 되어 있는 데이터베이스에서 모든 설정을 가져오도록 이 기능을 만들었습니다.setkey, item(key) 및 value(value)를 사용하여 위와 같이 푸시를 사용하지 않고 동일한 키/값을 사용하여 설정이라는 배열에 배치합니다.

매우 심플하고 심플함


// 모든 설정 가져오기$settings=getGlobalSettings();

// 사용자 테마 선택 적용$syslog_choice = $syslog['syslogs'];

..등등 ..등...




함수 getGlobalSettings(){
$dbc = mysqli_connect(wds_db_host, wds_db_user, wds_db_pass) 또는 die("MySQL 오류: " . mysqli_error());
mysqli_select_db($dbc, wds_db_name) 또는 die("MySQL 오류: " . mysqli_error()");
$MySQL = "SELECT * FROM 시스템설정";
$result = mysqli_mysqlidbc, $MySQL);while scarrow = mysqli_mysqli_array_arrayresult){$420[$row['item'] = $row['value'];// 푸시 불필요}mysqli_close(dbc);
$140를 반환한다.}

그래서 다른 게시물들이 설명하듯이...php 에서는, 사용중에 어레이를 「푸시」할 필요는 없습니다.

키 => 가치

그리고... 어레이를 먼저 정의할 필요도 없습니다.

$array=array();

정의하거나 푸시할 필요가 없습니다.$array만 할당[$key] = $value;이는 자동으로 푸시(push)와 선언(declaration)이 동시에 이루어집니다.

보안상의 이유로 (P)oor (H)elfless (P) protection, 즉 Programming for Dummies, 즉 PHP를 추가해야 합니다.헤헤헤, 이 개념을 내가 의도한 것에 대해서만 사용하는 것이 좋습니다.다른 방법은 보안 위험이 될 수 있습니다.자, 내가 거절했군!

이 솔루션은 고객에게 도움이 될 수 있습니다.

Class Form {
# Declare the input as property
private $Input = [];

# Then push the array to it
public function addTextField($class,$id){
    $this->Input ['type'][] = 'text';
    $this->Input ['class'][] = $class;
    $this->Input ['id'][] = $id;
}

}

$form = new Form();
$form->addTextField('myclass1','myid1');
$form->addTextField('myclass2','myid2');
$form->addTextField('myclass3','myid3');

버렸을 때.이런 결과

array (size=3)
  'type' => 
    array (size=3)
      0 => string 'text' (length=4)
      1 => string 'text' (length=4)
      2 => string 'text' (length=4)
  'class' => 
    array (size=3)
      0 => string 'myclass1' (length=8)
      1 => string 'myclass2' (length=8)
      2 => string 'myclass3' (length=8)
  'id' => 
    array (size=3)
      0 => string 'myid1' (length=5)
      1 => string 'myid2' (length=5)
      2 => string 'myid3' (length=5)

조금 늦었지만, 네스트된 어레이에 문제가 없다면 다음과 같은 방법을 사용할 수 있습니다.

$main_array = array(); //Your array that you want to push the value into
$value = 10; //The value you want to push into $main_array
array_push($main_array, array('Key' => $value));

명확하게 하기 위해, 출력하는 경우json_encode($main_array)그런 것 같다[{"Key":"10"}]

좀 이상하긴 하지만 이건 나한테 효과가 있었어

    $array1 = array("Post Slider", "Post Slider Wide", "Post Slider");
    $array2 = array("Tools Sliders", "Tools Sliders", "modules-test");
    $array3 = array();

    $count = count($array1);

    for($x = 0; $x < $count; $x++){
       $array3[$array1[$x].$x] = $array2[$x];
    }

    foreach($array3 as $key => $value){
        $output_key = substr($key, 0, -1);
        $output_value = $value;
        echo $output_key.": ".$output_value."<br>";
    }
 $arr = array("key1"=>"value1", "key2"=>"value");
    print_r($arr);

// 어레이 ['key1'=>'value1', 'key2'=>'value2']를 인쇄합니다.

array_push($arr, ['key1' => $value1, 'key2' => value2]);

이 조작은 정상적으로 동작합니다.는 어레이 내의 값을 사용하여 키를 만듭니다.

간단한 방법:

$GET = array();    
$key = 'one=1';
parse_str($key, $GET);

http://php.net/manual/de/function.parse-str.php

array_merge()의 예...

$array1 = array("color" => "red", 2, 4); $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge($array1, $array2); print_r($result);

어레이([color] => 녹색, [0] => 2, [1] => 4, [2] => a, [3] => b, [shape] => 사다리꼴, [4] => 4, )

안녕하세요, 같은 문제가 있었습니다.이 솔루션을 찾으려면 2개의 어레이를 사용하여 양쪽을 조합해야 합니다.

 <?php

$fname=array("Peter","Ben","Joe");

$age=array("35","37","43");

$c=array_combine($fname,$age);

print_r($c);

?>

참조: w3gl

를 사용하여 첫 번째 위치에 추가합니다.key그리고.value

$newAarray = [newIndexname => newIndexValue] ;

$yourArray = $newAarray + $yourArray ;

간단한 함수를 작성했습니다.

function push(&$arr,$new) {
    $arr = array_merge($arr,$new);
}

새로운 요소를 간단하게 「업」할 수 있도록 합니다.

push($my_array, ['a'=>1,'b'=>2])
array_push($GET, $GET['one']=1);

저는 좋아요.

여기에는 이미 몇 가지 훌륭한 예가 있습니다.루트 숫자 인덱스에 연관 배열 요소를 푸시하는 간단한 예를 추가합니다.

$intial_content = array();

if (true) {
 $intial_content[] = array('name' => 'xyz', 'content' => 'other content');
}

저는 보통 이렇게 해요.

$array_name = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);

언급URL : https://stackoverflow.com/questions/2121548/how-to-push-both-value-and-key-into-php-array

반응형