2012-09-13 8 views
3

배열의 값을 정확히 주어진 인덱스로 바꾸는 데 문제가 있습니다. 정확히 말하면, 배열 [2]의 문자열을 새로운 숫자로 바꾸고 싶습니다.하지만 생각이 없습니다. 나는 "새로운"때문에 예상 된 결과가 있어야한다에서 새로운 문자열로 "비용"문자열 인덱스 "0"대체하고 싶습니다 위에서php 배열의 값을 주어진 인덱스로 바꾸기

pos:0 //position of index in array 
id:498 //id of a field 
new:6300 //new value to replace in an array 
cost:6200-5200-4600-5600-4100 //the array 

: 그래서 내 자원에 대한보고를 준비하시기 바랍니다

6300-5200-4600-5600-4100 

나는 모든 곳에서 검색 할 시도했지만 아무것도 반환이있다하지만 array_search - 내가 무엇을 찾고 있어요되지이다. 제발 조언.

+0

후 PHP 코드 –

+0

가 어떻게 배열 모양입니까? 여기에있는 것은 PHP 코드와 같지 않지만, 배열을 가지고 있다면 값을 바꾸거나 값을 대체 할 수있는 일반 문자 일 것입니다. –

답변

7
$pos = 0;       // position 
$new = 6300;       // new value 
$cost = '6200-5200-4600-5600-4100'; // string 
$cost = explode('-', $cost);   // make it array 
$cost[$pos] = $new;     // change the position $pos with $new 
$cost = implode('-', $cost);   // return new $cost 
// 6300-5200-4600-5600-4100 
+0

+1 우아한 해결책 –

+0

@Mihai lorga 가장 명확하게 보이는 코드를 시도했습니다. 그러나 그 결과는 조금 이상합니다 - 가치가 합산되었습니다. 5 개 대신 6 개의 어레이가됩니다. 여기에 코드입니다 : | 502 | 6200-5200-4600-5600-4100 |'코드 room_rate_updatez.php 속도 3 = 5500 의 foreach ($ _ $ 같은 핵심 => $ _ 발 GET) { \t 목록 ($ _ 이름, $ _id, $ _ cost, $ _ pos) = 폭발 ("|", $ 키); \t $ cost = explode ('-', $ _val); // 배열로 만듭니다 \t $ cost [$ _ pos] = $ _cost; // 위치를 $ new로 변경 $ \t $ cost = implode ('-', $ cost); // 새 $ cost를 반환하십시오. \t echo "new cost :". $ cost; // 새로운 비용 : 5500-6200-5200-4600-5600-4100 } ' – Wilf

+0

'$ cost = explode ('-', $ _cost); ' –

0

이 시도 :

$the_array[$pos] = $new 
+0

@mike : 내 대답을 편집하는 이유는 무엇입니까? – JvdBerg

+1

구문 색상 추가 -하지만 색상이 나타나지 않았습니다 ... :) –

+0

의미 : $ cost [$ pos] = $ new ??? – Wilf

1

을 그것은 매우 간단합니다

<?php 

$array = array(
    6200, 
    5200, 
    4600, 
    5600, 
    4100 
); 

$pos = 0; 
$new = 6300; 

$array[$pos] = $new; 

?> 
+0

@ hims056, 정확히 무엇을 편집하셨습니까? 그냥 2 개의 새로운 라인 !!! 요점? – Night2

+0

이것은 첫 번째 게시물입니다. 그래서 그것은 [베타 리뷰 - 첫 번째 게시물] (http://stackoverflow.com/review/)에 왔습니다. 그것을 검토하기 위해 우리는 편집하고, 투표하고, 게시물에 플래그를 지정해야합니다. 나는 너의 포스트 안에 아무 결함도 발견하지 않았다. 편집하고 확인한 것입니다. :) – hims056

+0

이전 버전으로 다시 업데이트하는 대신 [롤백 기능] (http://meta.stackexchange.com/a/18876/187824)을 사용하여 편집을 취소 할 수 있습니다. – hims056

관련 문제