나는 PHP 멍청하다. 문자열의 숫자 목록을 순수한 정수로 변환하는 방법을 찾지 못했습니다. (!) 내가 가진 정확한 문자열이숫자가있는 문자열을 순수한 정수로 변환
는:
70, 51, 53
은 내가 갖고 싶어하는 것은의 출력입니다 :
" 70, 51, 53, "
가 변환 후 어떻게 보일지 있다는
<? $featureIDs = array(70, 51, 53) ?>
미리 도움을 주셔서 감사합니다.
나는 PHP 멍청하다. 문자열의 숫자 목록을 순수한 정수로 변환하는 방법을 찾지 못했습니다. (!) 내가 가진 정확한 문자열이숫자가있는 문자열을 순수한 정수로 변환
는:
70, 51, 53
은 내가 갖고 싶어하는 것은의 출력입니다 :
" 70, 51, 53, "
가 변환 후 어떻게 보일지 있다는
<? $featureIDs = array(70, 51, 53) ?>
미리 도움을 주셔서 감사합니다.
내가 잘 모르겠지만, 만약 그들이 다음이 작동합니다 (이 아닌 것은 빼내야 숫자 또는 쉼표로 입력).
$string = '" 70, 51, 53, "';
$output = explode(',',preg_replace("/[^0-9,]/", "", $string));
foreach($output as $k => $v) {
if (!$v) {
unset($output[$k]);
}
}
var_dump($output);
를 체크 아웃 explode() 기능 : PHP가 느슨한 타입 때문에
$numbers = explode(',', '70, 51, 53');
당신이 배열을 일단
, 당신은 정수 또는 문자열로 사용할 수 있습니다. 후행,
은 문제가 발생할 수 있으므로 제거하는 것이 좋습니다.
$ a = " 70, 51, 53, ";
$integerArray = explode(',', trim($a , " ,"));
트림() 문자열의 시작과 끝에서 모든 쉼표와 공백을 지 웁니다, 은 PHP가 같은 번호와 같은 숫자 문자열을 취급으로 배열 별도의 문자열을 쉼표로 문자열을 분리 것 폭발이 의지 잘 될 : 귀하의 예제 입력에 따옴표가 정말 문자열의 일부가 될 수밖에 없었던 경우
$integerArray[0] + 30 == 100
첫째
$featureIDs = explode(',', $string);
마지막
는 정수로 모든 문자열을 설정 :이어서
$string = str_replace(' ', '', $string);
을 사용하여 모든 스페이스 제거는 각 요소에 스트링을 분할
array_walk($featureIDs , 'intval');
그러면 "Bool (True)"이 출력됩니다. $ pages = "70, 51, 53,"?> $ string = str_replace ('', '', $ pages); ?> $ numbers = explode (',', $ string); ?> $ featuredIDs = array_walk ($ numbers, 'intval'); ?> – christophe
아니요, $ featureIDs에는 array_walk에서 참조를 사용하므로 정수가 포함됩니다. 내 대답 –
에 이름을 변경하면 문자열을 정수로 변환 할 필요가 없으며 php는 문자열을 정수로 이미 해석합니다. – Benedictus
preg_match_all()을 사용하여 모든 "자릿수"를 가져옵니다.
$input = " 70, 51, 53, ";
$ids = array();
if (preg_match_all('(\d+)', $input, $matches)) {
$ids = $matches[0];
}
var_dump($ids);
출력 : 제목은 당신이 순수한 정수와 질문을 원하는 말한다
array(3) {
[0]=>
string(2) "70"
[1]=>
string(2) "51"
[2]=>
string(2) "53"
}
은 쉼표로 구분 된 문자열을 요청합니다. 어느 것이 잘못 되었나요? 지금까지 작성한 PHP 코드는 무엇입니까? –
원래 질문을 수정했습니다! 당신의 노력에 감사드립니다! – christophe